From d30c32eddc661d2985ebc5cab12419c848578f66 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 22 Jul 2021 16:52:05 -0400 Subject: [PATCH] reorganization --- .../sprites/blocks/payload/block-forge.png | Bin 1374 -> 0 bytes .../blocks/payload/constructor-top.png | Bin 0 -> 1510 bytes .../sprites/blocks/payload/constructor.png | Bin 0 -> 1578 bytes ...structor-top.png => deconstructor-top.png} | Bin ...ad-deconstructor.png => deconstructor.png} | Bin .../{units => payload}/factory-in-3.png | Bin .../{units => payload}/factory-in-5.png | Bin .../{units => payload}/factory-in-7.png | Bin .../{units => payload}/factory-in-9.png | Bin .../{units => payload}/factory-out-3.png | Bin .../{units => payload}/factory-out-5.png | Bin .../{units => payload}/factory-out-7.png | Bin .../{units => payload}/factory-out-9.png | Bin .../{units => payload}/factory-top-3.png | Bin .../{units => payload}/factory-top-5.png | Bin .../blocks/payload/large-constructor.png | Bin 0 -> 1260 bytes .../sprites/blocks/payload/payload-source.png | Bin 1263 -> 8026 bytes core/src/mindustry/content/Blocks.java | 13 ++++++++++--- core/src/mindustry/mod/ClassMap.java | 6 ++++-- .../world/blocks/experimental/BlockForge.java | 6 ++++-- .../world/blocks/payloads/BlockProducer.java | 18 +++++++++++------- .../{BlockForge.java => Constructor.java} | 10 +++++----- gradle.properties | 2 +- 23 files changed, 35 insertions(+), 20 deletions(-) delete mode 100644 core/assets-raw/sprites/blocks/payload/block-forge.png create mode 100644 core/assets-raw/sprites/blocks/payload/constructor-top.png create mode 100644 core/assets-raw/sprites/blocks/payload/constructor.png rename core/assets-raw/sprites/blocks/payload/{payload-deconstructor-top.png => deconstructor-top.png} (100%) rename core/assets-raw/sprites/blocks/payload/{payload-deconstructor.png => deconstructor.png} (100%) rename core/assets-raw/sprites/blocks/{units => payload}/factory-in-3.png (100%) rename core/assets-raw/sprites/blocks/{units => payload}/factory-in-5.png (100%) rename core/assets-raw/sprites/blocks/{units => payload}/factory-in-7.png (100%) rename core/assets-raw/sprites/blocks/{units => payload}/factory-in-9.png (100%) rename core/assets-raw/sprites/blocks/{units => payload}/factory-out-3.png (100%) rename core/assets-raw/sprites/blocks/{units => payload}/factory-out-5.png (100%) rename core/assets-raw/sprites/blocks/{units => payload}/factory-out-7.png (100%) rename core/assets-raw/sprites/blocks/{units => payload}/factory-out-9.png (100%) rename core/assets-raw/sprites/blocks/{units => payload}/factory-top-3.png (100%) rename core/assets-raw/sprites/blocks/{units => payload}/factory-top-5.png (100%) create mode 100644 core/assets-raw/sprites/blocks/payload/large-constructor.png rename core/src/mindustry/world/blocks/payloads/{BlockForge.java => Constructor.java} (88%) diff --git a/core/assets-raw/sprites/blocks/payload/block-forge.png b/core/assets-raw/sprites/blocks/payload/block-forge.png deleted file mode 100644 index 6d37c59675a4a4818c15c21234d9b698fee49cc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1374 zcmV-k1)=(hP)Px)7)eAyRCt{2ojXn(K@f%u#03Z}fkZ&CBx`X8o6rfjAmb4^<_eZG-@+F#z5~)G zY(Rhnk}Yur9H7QCO+V|=RXsbugtYd|_E!Jj_Pcv$>*DJA<>bpJu%grb8`1QCK7JNW zzgF7-08jT1+Hq{GwgCWEtMv>)N!#v)6$p}5gth7iU;qGM+7K+758wd+m?i|P<^u!( z089&lW%B_d008Vjn7VdS7gwt_008VA9t5vH-9NnDQ>wGwKgsJqoshbLRo5{Ul>klE z*2!G&#RyXpiUGLBX7BI-mdizTa1>#TY;C?%ErcQfeoIe*kTM2)P2)3Cs)3LN5bI`f zLnz6-0G^UpT?{G1V=>oi zwOVHzWpX2&DhW9=dysSljG@tna&QA?i{l8o+G+e^DUp3|sL~LOG-TK6Ve)3`Md0#vq&o{%_cO9F+iSmkL0C zXfG*_y!l=CcU8~~AuI{=0U~XH6a-E%i=*SwAD5)!jtyF)b3qQmNAHa_jjvQm2pL{8 z_mmSQ9skSg`{%2=7bJa_F0Ulm8>=)ruama#Sg(3AO2tzs6R z4eil^WiVL?_M@q=`i7Ay8fmV1hR%<=9m_YL^*LfO%@AG{>xP#4lN|?Wi@Nhn z>yd^|xgL@EQTizOahQF%qj$P03?mF2*DhHP0$bm gd1u@#oZQ&qA4&_`Jg$f!7ytkO07*qoM6N<$f}_`ILI3~& diff --git a/core/assets-raw/sprites/blocks/payload/constructor-top.png b/core/assets-raw/sprites/blocks/payload/constructor-top.png new file mode 100644 index 0000000000000000000000000000000000000000..39a3ca79f354cd47c5902cee3907a1b6e6bf2960 GIT binary patch literal 1510 zcmVPx)ph-kQRCt{2ojq$*K@^71E>?Cwac zljI*X1@-F9yE*kY)7k70j=vsdKd9-fxSmY`02%~aNxYik4-JBiq#jM(UmAowX}p>G z|Ii@lr1j(+0DuNTsvIwZ000^Uu5vwy0sv?bC|Q(!0s!!IYdiU%wY8hj7Hel^Vg93s z_a~>Oo&%g?M#xM;8G#@o~2xvY^1HtVr&Y2~F z;G2&cD+J$slmvp`RR@jYK)7@1B>6#OgAg+x#eonSCxf$~7tgno=KcBb8h(8HnEWs* z;30`qmRN6qicM0IMu%F$_1~XPf4*`3GF-WKJNdywZwbXPu)Gyp^1*L^ zEQ|JzxXXFXVu$;Gr14PCl}&BWCuv%D}u1PbeW@K zT@V1Tmenxd6(>g5eCsaAv<3KsFlFxY>Pq#2niHcd>vK?M0I0QqFD%#)Ao#L`aKY+9 z68W_Xe@7#z@1(U#Rg&54uu4TJG6<&>8_cjJlrkTH23uo1>Ks5yC8l}4N&?oXHvqc) z&bUtydIMll)c{nM8GzKWm9Z)Jq=qZg7O)5qEX@Zf&;^Ydg0=Yog~os}LMUNAK*2$H zOb|+$4^Vg(GzJJI%?D`H(CTUcDyspgtOlU68i2|w3LtfEbSTQXjLlIo0Any8RT4rG z0An&ARSJSRfH9hnDgnV1z?jWPSwk=bun6X(EFrXMXk|43mDL*nU8X*hp5iO1-T(mT z27>13d`Wc-{mfD^_Uf8yS1mzf z<{+-Awu{)Q@)c?c8aS~dkDBi!sFU| zxiOLM9Z8-qJ(d09`SygmBI}L`u@lppgyp7*TLI|W=Nr!%#I?uVIW0jN&x0$+rU}c< zQWv|56+Bk!Q-#jGV~~O%jR#|~%o=Z!ygMYn;C;Fr&5;kmFFysrEO|GTzCI;{Ff{W~ zSoT=CV-U>J*HbTW;E2jM-FHc{#se6>z`>$l9=iD`E(A@g{NOZ{nh9`b7h^FWfG*4D zFF)bn*HZEsv26?SYph(wTEdvjcNJ?1SRplU92C#Vefbc^YCg(`;P(bn2<%rGri2j2 zZaxYj#JXY$1lG$uIU4FzQ!A?%piY|kdRaio{z7I^%?IEm0i?dv$pWy*=A&{Ur~x$d z|0@TA3P3aeytEL+0Gj!6X&{IIH1lamA+P~7^ZAlMU;$|6%f*H84?71ls*n+;N&o-= M07*qoM6N<$f<#iWr2qf` literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/payload/constructor.png b/core/assets-raw/sprites/blocks/payload/constructor.png new file mode 100644 index 0000000000000000000000000000000000000000..8f68ec170879938cc45ddfed92a486ead4294580 GIT binary patch literal 1578 zcmV+_2G#kAP)Px)5&Iy%0Rhq` zyAlLQAQ3qs#er3;p|`ubs=E4TeqQO*hj*rXy547|d!~P8_I};|em^=rff_n~y;G%o zKD;cFUkP=q)dpT3pNbzihgn)9wPmqT2LMnSLe4XFXb?L5qZEV^)x?k>bp3zihETGO z9twoc{UH~G8V%$SAnX7Du!m6d?xb}HUH|}g5L&o3Y#G8QYU66P0RVu|bHdBx({`Vb z7H?~Dp&s^^0PshZ-~Y6hW%)~PKR-VU`omH13P6Rf1djO{r5Z@>L*=biYE2OZ;5$gG z=5zLK4FXvOxd-w6Z6)ifWAU~Q=J~L{ROLx2R$Yh0x&m@5$5~n9n3^kr4FDUPqtg>O zKR;t1AQmXc2#r}5`D%_Ug}?&fw)9pIBmtJ*H{}YEK!^ee-DagisC8Cz(pXeaTnN!d zm}*pT8`UUp*7tC>yZ`{3z;d-0zI^*-*J!ocL>uMgMwq%1HtYKj{~wY{mEGhn$OpkK z_>dr!EW6olXdgnTz?wid>-+70In(shN`6n3>2tu*=}EMpQX{2lQ_fz?vU6n$;P%H) z)_xizIcZbQUaq;;5X=B@%|~gBq_(G=y;4&xA+Y;`C`rvnr37MGziW@5a*K*00W99u zaQu3(^Lu}QLu>vR8hPN1g`n0 z5QH57l78~3LXet|@k8G==8eFzgz&zA%O3&3o?TwDlI z09x~hGz1xwHWm&95`ea4ACvhgZA`HfIM^NCviYI=^4!PPjsZL$Uh+HR0ETIPY@3y= zuY?@{l=;W6cU9NaatyBd1ipA%lifN#2p<5%%=i6WN)lshKe@JjQeZsR%6SFCwK zKBG&RpOSCMviOYVKHRcr#`O)aF+yg!(j|xbhD&-DL~}!*4=<|@Pg<^Y$)Sh+rMO#1 zJv-W`+Wqmh$0I0(`qY9WV$|D4D4i`Yii}LvkhS>$k>`MxuY}UdVLkxkK}q)rgFyv6htv%RX5iS!qVKdsCq+Z2)okWF{;Oe zV-Tj)9i6huC^{>GQV7DB%twV{N?qc`ninL|7|lmn#kMmq2$c$9%;uv~V+_uWLrEa? zGn<0>sD7+kzfkJg(Ni@aC56DA9nHyf>gJ=k5U4Q}@_j)M`%73v24Jpkt|$A>Ah(mw z2O;L4$s4n@5K>mUxM?+MBx$*MNo6)K=<4QLw13J<7vFYG8gAOu{VADF%;G{wS?QuN z(sE^u^*D$5%(xhYl$95{sr!`CL@iN$$gxkTCK zhPqe6kcKGTvbwQIU)@hB>+EPO_>jy;VVOf!suhH274-7>l=PjfegOU6(_9}{v&a|o z_yV8FG_mT414#WHF{xbRG=n;vG#2?v@(5iC+z-5|z9S}8C?H9orT0yNAo;o;yA9An zhy_yWtk&$Kfgt^~p{NmV?NhfyJEl+KyPz5ntUu_S!+iX_W0voTxoRCkE%Q;P-w_L` zRS31sM{)hx`}*zsyLqX4(#{&NeuYAN?t?CXTJ0a&iyta%c|u7n~BwQE9X;R>W6 z6k91@140Ytqe2jhzN(-kgqF-l`5+X3S40U2Et-#VAyj!;M@|SWn~&;4sP?v$91wEX>4Tx04R}tkv&MmKpe$iTcsiu2ZM-o$WWauNELC^DionYs1;guFuC*#ni!H4 z7e~Rh;NZt%)xpJCR|i)?5c~jfb8}L3krMxx6k5c1aNLh~_a1lefMBD_G^=YI&~)3( zq>^GTzaoZT5yl_{M3Io0Wz0%a8ouM}9s$1I#d((hxj#prTCf-p5Q%4)VcNvaEL z!FiupU}ae)J|`YC>4LEj=E{Svtpa#g^{ zF^>&skX=9cAN=mtDo!N4q(~CzesP?S5g@z^H0zG@ee5{R6Cm^qT)|5Tqat9cCGGtSBr4Y?vu?W1M(KqFRfm@(=)$6UbkJASrOI@XJfP+I| zv_#o!KJV`7?Csw(t^R%hsqJ#TjsEL?0009cNkln&qx2~8HzqPAeoQ^; z554&L`}BvB;4H^JfShyK?-m6xFo*qa0c8XRrNV;(C{7&@3ZN)WJb+bfqp!~|u}uK* z_;~i(?(_9dWq;DR@E~#o4vhzJe>|z|Q<643hyWY|58&!*t+sEUbm2iD;Fx&Y$Iz8N zJO}`^fTw*duK3`A5YQ4{l@y4+cmS&*>j~)MRe61W;lrnop@(!42_6i59hd^IipD^Y z;(_4{X$fAH7{m}fFbWugS0w~76b}^cM6?rw2XAGfDiuC=EirgtYy@iH)zf#^5{n10 zk{0&1^mSfqKhpN^k0<9y)W8G95!eOfix-OA_qpas)WQShQ`prJDN5??wWD4G>mBOq z-1+Ijs}0|M`9^c}L83{dJ`=i9;l&_IznsH0H600ck8E<8y)lJ-;Mfzm15hvS1M+0N&4L*Rj8 z4Q%VY6h&kEq3}TI6i$)QvM?kb7`qp)C!{P4jR%GSK~@&VzypJivzqa#iDTh`@e$~g zG4UXCz_IZlV?YadkSU-QJjf8x5*}m*XblfC0`U5Ocu;M-3bsF(*7|nMB4y%nc6=&B8h2ff2x5@gU&?RaY6X^dwm; z&Jh^;da+7d4Q>8CcRX+arowCfe+qce08EWnWh!`30~`u3xYbxwGo_%Px8^f0MA4Bx2Lz&YZ9 z65w3%Kml;hcn}FVcRYvyEO>8OhP;6*c>l8m*=x*#cNx*rj)M0--b*_Qo;zMkI|^QV zdY5(-yzaDK#;iBng6EM|z_~qD35^r5;Q8krV8N5+0005u}1^@s6i_d2*000%DdQ@0+Qek%> zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3*ra^yOeh5us}vjljv9N387!7P8i17@n^s$X}+ zNbi*-W+n+-bIc{p{@;Hc^FMs0+PsOW)ZB8me8m=<@BC8j^VROZ&c^%i{pzom`1{Lo z^YMb`P~c~H{w%K-T<3WD^MUs@-1vIj)YmJ%zE0#mPJF+DuB_kJ=S6bdKgV5sov7{S zm)vUkywveJ(R{t}F6H%q{8-lWLw}nu2MSSIi3$_m4JNN-utJup9AzI$nW3G_vnB8_AU6nzmA7*vCOX+@yo9-xb*FK__&P! zeBto1BLDS;xn26Po!9^8ta{FVcGqJjqWM)(H`wld8s0bvdAJ|Td>8&t{9f*Niu!iPm(aorm7Gn# zO$Z$JA8T>73i$(evLiVQk>UC{CQ`~*8Pd7!&nVVx@*Uy%keRIh9mRYN_XtV@^5ek_B?Tgc3_Cxs*~%E4_vqYpS`HT5GGl z`4+&y)N(7Ww$^(0rgNdrxjOIf92tIu5l0$%lu<_;eNsL%&NTBZv(7gA@+&N0V&zp< zU2XO4%myiT+-c`scHM3FL#>@~;z=i;a_VWPe`M{I)gRygMb_LaYyM_R?<*f!bUOBVX#psne<;*ruQzXwKlX7F0Q^rVP+|H-tK63XbbN^A^ zOsfA;-uyph&M0;NADJ_x?q}Y9$=VXn&6}~O3l&ov=sr&6N-}+|%9UG~M=d#0Vbi;~ zwEV84ue@g(X|~NNQy)23wzn%w_pDw$6_dEl=oi3mdwU$K2B>O?qm@k0%@KiyFvhB7 z=tS_NTWh(rQ{uWH?cit75{xfr9X}3GJq}1&x%L=$6_a=X(T=#Rqc`udIIUY$Rch|! z-tN)TT_2_p^|EvJq1iLp=jqGR-Q-@27nhSW;uoVGyYngAIsHgcCpiHKwJwKb*zT;) zabD2zT(z9q$cCFm0YJ9wKd0?QUrJ7>Q`erSr)1)nliZW@A+SHKW{w>b}e>Sytt%J+dHr0*Tq zqb^1tFl(@7MJn61xTB*PZ(&&<((K8GG~QLKqM));X>P_|$t9Pw0pU4!T=!ETq+es) zfFJst_EPw0IWkRXmm9QdNq&??ieub0?2^JdYnGAd@{@rR{)*%NsU@| zE9Av1DTOd7XBP{o6xe3vEg;T1v*+WpWv^;$I^52Jtf|VIrbp2}yV~Jy zE?COCt388yrzOA}Aw19(o7iER;;6$)u&I6rfK%1M_S^dSg}u4nxg~WriHL&#;yf4f z;IeD>T~bChB|i`sf3H?ih`_yy!&5?SPjDl^Vo52Xb4Upm#z)jwofhaA6n6{3jMBX& zubsA`S<@+=Rtsv5GBTRh+7Ln-w0t3;c?^<<$@@>v!S`6FON|5}_JzAOpBB3JJ zUN8kk1oqaw<0(|CbBiwI!o|)2Fs=>X(8`^HjLizYXt(@AbhZMgE%m!Ia}yg_@;aX_Ql z*B04?bizJqtqiG00+vZ$vx`^E0;Xt1)@27ZP1D|*h7lF@?rFORss-6>%|r06EY@4= zNu3B%(9Km-r1Fa@doK>pO&L~Dr!T|->2*mqfwY3BF2BzAg3p{bC(Sbv0z;rI<;to0 z8ot70y-`o}w@|T%(R%iIfZ$o)K;=r#TA!@8`#sSa_v00^gBA zRe|@h!7K6ArRH0kwuT^h3xgj&BduhQdX3&A#(PB+c~H0wyFbngHvw+Mw{v^O-9(>U zt5U#h8wo+wpgH0!4K=#sC?^UKCdsF9P5)s3vOgQErar zwF01+z{PC`uz}P@^&@a8#WlcYRGW?C7I;R!UBw1&b4{9N^>RV~XQ09o zV&%#zT7vqZ32$4Y4F0Gw^P!*KKSw}lS6Y@n!6qU9>gH&d5Kjszu#XE9X`%5T5gfKehoL51h3Jj^dxs<^d->sEbM; zPzzUMK!H}WMy(W09U_{sQ5!+ZRg6NwfDJTy!&-DG4&;U!kc||o6e*F+bD?#*+tp;n zEcN;$=wE)Wa;|m5hTI&&{S*L#v@bdzNL~i#jJtK7*6lKvPV9_r~maQ5iwSA$Hl+%)?VH){-e9PE%un#C7 zOC~mS(GUfLn58=UnezZ>p}OlKC_Iqyuu>Tfx2d2eU@S9}wMk3BMWlY`TLegKQ1qqF z*fR-VXqg6|1!OV}qoh)#XttXqe5Nx+umFXVd$56~>0&FSo;0O!$6FQ$rVm(%tbhde z0VEB${=9_EqNsLw4G8kh%Aoq3VzFHIMZDj+05QH2Q$a z#3O)ZRunZO{l=-V*LCCWF`c8K04V(q)S~X`EnlUoG+Pr~e}8}KAl};%{8W-D5A!`b z)t4Kc0=EDXiVlaaTvS2fP9t@uf#oi$uC2L?WKET@=wg}73%&p;;XLd#zP$Iou@b8K z1`ttzgX5Z|BQG8$z0tdLP5d|84O*d}&<=Dl9L80!U08HYEP&A+;~pD~Fd7){;r$Yc zZt5Sx5H$={^uW}(2l{+P%kV*RtTKl{(D(KPbTa#C&2VKrr^6}U!3L|O>XRy#OAZi> zi`bk3l%*++D|M8+K>LiNAjw%*tOjmguUSg_p=01I za8!$Z-7#0BDn*NTQnWSJCACXdV!D{oyyfmfdtVG1hNOX4N9kvr}quhg=Rw~oZ zDJ6Di1oX~ue($YWZ2}l-M5HGR?O7fEauja9U*_wVtMN3*%b zgD&NxN1-)DK%YH)R+qR%p!sZazt9grX5W#7&90dS-P%>P07F*7ZJ6?LF{l5tCETgUcEKUn4;UH_bW__TmBBce`ya z5e(Kpv#rSc#ujLH@hVmhOBHesDab;|(2xZGtGhJ^kj}w>RRmUweEa5e_H+s?Spa-s z?qJwfhY-=Mmk)Q*gcnFKWkW{~^Q&iI{v>|2l%Dvt+{sN3-z_Ylm~6NW`vAQ8>UuTz z`Dn05?pMqZ854qK=*51ezPYKU&B7b zt+xt+!F{eimv1r3Crs$}or_Cr>PAMqHx@-FUIYpCsxp5R({vyH*SrldWjAa;<(dyU zwTNLs@P3<+{IH-Mvh(EGpf9Qzv`JrR^!qrXdL7G9lzU?$9;S?ALhCbD0MyNB|(}pFA2kJN6#zKM{O=W|KZd+ zr!@*ahC`Jhuu}04yP7ZbDs$)CDL}Ri1h7CVM9@GjXBdC((&X1rkfaZ-c*mM=0`|w*ehOIXxO0Ji?j5#L2(Zfw z4cW^N%bVdy+I6?#0~8VuY1J)R`Xdz^;N*~K8Q_m>V0aPnhKoYXzj5oRe;-J`l7Pjj zP{X3-%mOx4g_>Tq)9CVXo)oh(0JpSM>Sa50e|##xTqQ@vQZqowB``ycgUShEOja}) zEE@4edJSA(=#D9h#XfH8sK*6rd9t`?ZngC=(PI@njz%+nyV=T|l$2uSx2M4MAi~5H zi@sI$un#V-=w_;WW{Hkoqz9Y3<6YBseCE5iX1jeR$GYDMFu6MdRfy9afl5*Ub=2Yl zF*F%xIR)iY5;|M=mo4EccKpSUTSVkv!u?@P&4+gRWqek``o+S6A@--oG2cwiGfDfR z4zD;Q@(5Y`w@Gjc<}Y^|V*F}ZKOE~IghAoah!>TAN4%7S(c@r6M*Nxc{>Y4`yuSwS zV{-fi-MpjzC+JpBO@M4P?N;tZ0@$3ad!)5IzSs7FipHM^lqb6Dn5p57L*cXFxphwy zZ`GoGZXdBQd!}aXGFqD=^|%IK!y&3yF||7azISTk$e(T#(+MgvHpx1iOfrDJ=K^%Y z$^tbcr|$fMPXIsaC25{RuTh|DYSgVU*Mav%&JD=A+>A8^(d*+tB!6z%?sRm*z5D57 z-a9`g)O+h^t$4K5K5A-mcJv9T1uv>k8d$X~PU!Eqq0B$ur@GeR;h*~48a}Vl7a63@ z+m$8eLzn!KCAU-nkK0MdJ~^Gb8}QUgdzE2rLNV3(?r2D`eQ9$1$*K%T1+ziz6b&a( zL1qEB4kaC%y*Cy${J!h;;;?7JK0K_N^sq@8dPL&wi{)M^^M>AHXB#42f{EiNBfXYU#DhV6rcAO!w$hpkISB7$$LNe_T1n4RSJuW%Lny; zcLKXwu5gNg^sG~E4qgH!lJgYq26uqyk>#qMa3cxY61pD7U3w*5R*;P=rp6Zlj~p1%)M56Q8br9g#f(;X7x zw%cLiQV(Z`Z$Z4RhIy!ZSSM@xjox3Hbo>T+k%VB7?h_Xi#U|T;GN~vY%0g3^k2?}0 zmZ+)bhPM_rrut*^2na%;tGZPnreXnoEJQR?*0~5K5G+lzD-}5zi$ezoDrVf|H%uEP zt9#*7w^)S@I6#yj5I&P37fAb#NDn72(Mxg9Pbj-}h70Ylg9qw}h~yB=f2r(Q?zbjw3eC?c>yQ0y{-P|r=( zRIUoW8q}%n3PvUGaVKF@CI(f@Ir4_nblc(?An5LYsxL2=ZPJ_r(VGe&jA791gNg^V zbot?RbAp5!Mbdpfo`WVjL*rCiG)@I#`ucM2>#kT0*0QG{a}~BhsfN$X1fuWi!$D?g zm&4K_da~wuI;_%DZz*UoWUScC)-3TmjJ3L9}+by6&3Xg}%WA9no`xfF6$z{oL=4QP;EKlmT~?$#s#yaoyIGJ>YT& z7%qSO1BNs+O|m|5n*FFg`|sQL=Qn@< zRS*b^pk+Chr-w(31i}VjDWw1*!W1A7BFq5-A;KIW5F$p$;nWY8^ZgT{xvoI93u)Z10qvn~RpxU_Re-aCx&mkZ6@sQ|pZJO{!_@M-6ctnj^r z*Mq_{MC;gVAS6qCKo}RF7DBSd2ZV9)X&|J`1B38C#)JU^zK{T=$Nms`qvg0@^Qkxl z@R@!E10nF4?*jrM@R=_{v=GjIPPS)gjjh{r!L0~^&p$%#i%7)xgdFehx-9pBZ*26+ zk@OxD(#BVVDJs76i?`+c;_VbOA@}vto6JZXpR~b|@tyjAMugHFNf1&GeB6d-z?U6i zZH~AIsTaPz4rIcY6=7?RI0!cvA+7kb1s52`jlVD<45BW+$TMND*qR9m!_x;85Gt>N z5eNW803ZSZfKK9ge}}~y0NUZh5d#1;#|MO+0A{#3Nb6z&?rf($D@MN9foq9s-xvYk zssGm|n7h9x*)QDMeuj%3IEJY81H9u~`E4~OxjNbklE7a?QJti+pcAo_n=8j~l)H8u(aW!Pya7CNFyXTk)~?0kb0Xki6*aZ^0*8gk(eLDS6S` zUyDz?3SO3@%d;WURiMY@N!#Rc<@@ga2XXZ*s@)Lq0ilKo8ofc_%ZISV0$FW1;))Y( z)i*%a4H%KAi1%wm=$l6F4_Xbes&ZOfVhjX4D9^0-5 z^onofEYq?bFKx7(k@sdoiij^#J2Lg92SRs;VZ1yFK{H{!lP@WT|ode8_ z4+xzDoB%M8^o}%LGl~A;GtO1IQFGF4B);4PsyI>PRUpPf9)y7hJ^%#5Y5Pt{1o|8Xpy!JZWuTmqF0iPr> z(VrI_;SWt>g|gt|BXWK4WFMkBT!k+}F(*AHRHRUj-vhLtFb9LU9$0SO*7u z^@00>m1jZ(WX5p2fH2=@ckKU#{hR%!CFuKK2^jf>M6dx zKg_83dgW*fAL}c)btYV^prlb*$=ghr371ODk%V=Uwl0fk|%tKIH84*fDd7bkbn z1_%g40@QwVEAYid*m7{XX$I6n2z+r7ww@Vj{t9kI2z+r7YMho+*$1peh$pbyM{N$Y z&IyxMM}RLrLX9|RcZ73%&?COl=b*jqder33%~!Al7x39_Q!{tVaF2b$cwIV!N{51jJ|J&kmpHTYRntj44D_d$D`8nb1u(ks%L(9KtH%YbO((?r;7 zn=J@?*Zq+obhQsyGcdjIX&~&q%^HNGicWD6x?6-u2BWif0^zE?2>v zff|Lc<*>x4ZF0uKs@&clLiNfB2*lb^g;T3zR7gdb&V&GnFhvM}2vdXrh%iNnCnX`w c5SCKP5A2Iga`wDrGXMYp07*qoM6N<$f&$PzQ~&?~ delta 1254 zcmVGM7S00faqL_t(|obBA}dZR!H24FJY|2^-vNpubjd@u)TQ-1Y{0`IOmo+Wz3 z4obm=l!6QY17i!nfT4xoz{tWUP!%4ppfk8y*u-}&6HpNz2Y(Gq)-_pS>tiRjwM;-(*w$pJQivr? zKu#!DhlFwk8}JgIi%2dH2$cd=I}P|2UMrDOUlnTkRXY{<6uychKt-sgSM7A*m+&l) z07apm{V3Z3z<-oCK!9UW3{iF5lJX9q45^4%Q3MZ!)q^E$X0Xx@r91I^>$W*{(7?;B|l9|znwRs%j3xNmQ#`${06 zxX#yW)C2N~wvI&=n=t#82l9zlpIcb`$^rRAyU!`Cet&I&e4@wa5;niqKwC}OH>X+& zoKcY-4+dg3upCM!6#N5@#)krZV<8($fW;q!u>x5CH53KVe8|EOuAjt-Xiy3C9u#Pe z&)MudzzS#*p6i9yIGfETq!wrpo@0sHH=E5QBn}7*%Mnip+DAv?fuJz?fuN9vfOSt3 z5EBjon}3!zAS4_CwjGT?L^uFs8d`yXkO88b@kU^M(&S#mbLT&S?P;fTBbhz_3&@?g zyM~$h^B>oKxB{YwG}eA*-;rNMDsO17>1STTk1o)-9b-Og4oN^&=<(UINCs*`m(P+$ z8W0v*e0Un^z~%QhRo_zJ;Q8Egpnciz1$x#_1AowU)wlJH2&oZL?7^TGP+|FX~=AGW)jP$N@*d zlx!WX^FM)|i$@OMwwsCIKBVop>2@r-liLXVrH=%}f2bnWf zc=kPy=UK8dn7$_|=QjvTpe>t)T|bEvVSix(v}QALm6=p<1uzwV48{^*ns9aD9czI0 z5v3b{z|r_P;FK$@d6b9zGb*m|{hZguLq z&1w_5g>E14`tBJ-n}k)P2NOT>74jx6*h~0KTBy$$a9NQ)1i>Z+`jiHr6X;_kJAZxi zKIgK^=lLK`_)iMO|0q-Z&stT&DF??=B-y9!i{~7@i@;;cah^=U%p|7Ic(@hL)X>6w7y zQ;1hhCYXtkuN3M);W^X1X5S|XJ6|n350_y=me2}26CqzNM1TqK)xz#X$d`Yy76B%} zR|#M(aE2N<4!0+!8-))eCq5~8C1EF%<-roIV Q!2kdN07*qoM6N<$f)RvB;{X5v diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index d263b4a56a..1bcd3712f9 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -96,7 +96,7 @@ public class Blocks implements ContentList{ repairPoint, repairTurret, resupplyPoint, //payloads - payloadConveyor, payloadRouter, payloadPropulsionTower, payloadDeconstructor, blockForge, blockLoader, blockUnloader, + payloadConveyor, payloadRouter, payloadPropulsionTower, deconstructor, constructor, blockLoader, blockUnloader, //logic message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank, @@ -108,6 +108,10 @@ public class Blocks implements ContentList{ nuclearWarhead, warheadAssembler, ballisticSilo //TODO ; + /** @deprecated use the blocks with proper names, */ + @Deprecated + public static Block blockForge; + @Override public void load(){ //region environment @@ -2227,7 +2231,7 @@ public class Blocks implements ContentList{ consumes.power(6f); }}; - payloadDeconstructor = new PayloadDeconstructor("payload-deconstructor"){{ + deconstructor = new PayloadDeconstructor("deconstructor"){{ requirements(Category.units, with(Items.thorium, 250, Items.silicon, 200, Items.graphite, 250)); itemCapacity = 250; consumes.power(3f); @@ -2235,7 +2239,7 @@ public class Blocks implements ContentList{ deconstructSpeed = 2f; }}; - blockForge = new BlockForge("block-forge"){{ + constructor = new Constructor("constructor"){{ requirements(Category.units, BuildVisibility.debugOnly, with(Items.thorium, 100)); hasPower = true; consumes.power(2f); @@ -2256,6 +2260,9 @@ public class Blocks implements ContentList{ size = 3; }}; + //TODO deprecated + blockForge = deconstructor; + //endregion //region sandbox diff --git a/core/src/mindustry/mod/ClassMap.java b/core/src/mindustry/mod/ClassMap.java index 71cfafe5d2..ffdb8cc170 100644 --- a/core/src/mindustry/mod/ClassMap.java +++ b/core/src/mindustry/mod/ClassMap.java @@ -1,6 +1,8 @@ package mindustry.mod; import arc.struct.*; +import mindustry.world.blocks.payloads.*; + /** Generated class. Maps simple class names to concrete classes. For use in JSON mods. */ @SuppressWarnings("deprecation") public class ClassMap{ @@ -220,8 +222,8 @@ public class ClassMap{ classes.put("SwitchBuild", mindustry.world.blocks.logic.SwitchBlock.SwitchBuild.class); classes.put("BallisticSilo", mindustry.world.blocks.payloads.BallisticSilo.class); classes.put("BallisticSiloBuild", mindustry.world.blocks.payloads.BallisticSilo.BallisticSiloBuild.class); - classes.put("BlockForge", mindustry.world.blocks.payloads.BlockForge.class); - classes.put("BlockForgeBuild", mindustry.world.blocks.payloads.BlockForge.BlockForgeBuild.class); + classes.put("BlockForge", Constructor.class); + classes.put("BlockForgeBuild", Constructor.BlockForgeBuild.class); classes.put("BlockLoader", mindustry.world.blocks.payloads.BlockLoader.class); classes.put("BlockLoaderBuild", mindustry.world.blocks.payloads.BlockLoader.BlockLoaderBuild.class); classes.put("BlockProducer", mindustry.world.blocks.payloads.BlockProducer.class); diff --git a/core/src/mindustry/world/blocks/experimental/BlockForge.java b/core/src/mindustry/world/blocks/experimental/BlockForge.java index 29adc64d00..8583b495f4 100644 --- a/core/src/mindustry/world/blocks/experimental/BlockForge.java +++ b/core/src/mindustry/world/blocks/experimental/BlockForge.java @@ -1,14 +1,16 @@ package mindustry.world.blocks.experimental; +import mindustry.world.blocks.payloads.*; + @Deprecated -public class BlockForge extends mindustry.world.blocks.payloads.BlockForge{ +public class BlockForge extends Constructor{ public BlockForge(String name){ super(name); } @Deprecated - public class BlockForgeBuild extends mindustry.world.blocks.payloads.BlockForge.BlockForgeBuild{ + public class BlockForgeBuild extends Constructor.BlockForgeBuild{ } } diff --git a/core/src/mindustry/world/blocks/payloads/BlockProducer.java b/core/src/mindustry/world/blocks/payloads/BlockProducer.java index ec8642cc90..1c17cd890c 100644 --- a/core/src/mindustry/world/blocks/payloads/BlockProducer.java +++ b/core/src/mindustry/world/blocks/payloads/BlockProducer.java @@ -34,7 +34,14 @@ public abstract class BlockProducer extends PayloadBlock{ @Override public TextureRegion[] icons(){ - return new TextureRegion[]{region, outRegion}; + return new TextureRegion[]{region, outRegion, topRegion}; + } + + @Override + public void drawRequestRegion(BuildPlan req, Eachable list){ + Draw.rect(region, req.drawx(), req.drawy()); + Draw.rect(outRegion, req.drawx(), req.drawy(), req.rotation * 90); + Draw.rect(topRegion, req.drawx(), req.drawy()); } @Override @@ -43,12 +50,6 @@ public abstract class BlockProducer extends PayloadBlock{ bars.add("progress", (BlockProducerBuild entity) -> new Bar("bar.progress", Pal.ammo, () -> entity.recipe() == null ? 0f : (entity.progress / entity.recipe().buildCost))); } - - @Override - public void drawRequestRegion(BuildPlan req, Eachable list){ - Draw.rect(region, req.drawx(), req.drawy()); - Draw.rect(outRegion, req.drawx(), req.drawy(), req.rotation * 90); - } public abstract class BlockProducerBuild extends PayloadBlockBuild{ public float progress, time, heat; @@ -126,6 +127,9 @@ public abstract class BlockProducer extends PayloadBlock{ } drawPayload(); + + Draw.z(Layer.blockBuilding + 1.1f); + Draw.rect(topRegion, x, y); } @Override diff --git a/core/src/mindustry/world/blocks/payloads/BlockForge.java b/core/src/mindustry/world/blocks/payloads/Constructor.java similarity index 88% rename from core/src/mindustry/world/blocks/payloads/BlockForge.java rename to core/src/mindustry/world/blocks/payloads/Constructor.java index 48a4d366a4..4359fd581d 100644 --- a/core/src/mindustry/world/blocks/payloads/BlockForge.java +++ b/core/src/mindustry/world/blocks/payloads/Constructor.java @@ -13,17 +13,17 @@ import mindustry.world.meta.*; import static mindustry.Vars.*; /** Configurable BlockProducer variant. */ -public class BlockForge extends BlockProducer{ +public class Constructor extends BlockProducer{ public float buildSpeed = 0.4f; public int minBlockSize = 1, maxBlockSize = 2; - public BlockForge(String name){ + public Constructor(String name){ super(name); size = 3; configurable = true; - config(Block.class, (BlockForgeBuild tile, Block block) -> { + config(Block.class, (ConstructorBuild tile, Block block) -> { if(tile.recipe != block) tile.progress = 0f; if(canProduce(block)){ tile.recipe = block; @@ -42,7 +42,7 @@ public class BlockForge extends BlockProducer{ return b.isVisible() && b.size >= minBlockSize && b.size <= maxBlockSize; } - public class BlockForgeBuild extends BlockProducerBuild{ + public class ConstructorBuild extends BlockProducerBuild{ public @Nullable Block recipe; @Override @@ -52,7 +52,7 @@ public class BlockForge extends BlockProducer{ @Override public void buildConfiguration(Table table){ - ItemSelection.buildTable(table, content.blocks().select(BlockForge.this::canProduce), () -> recipe, this::configure); + ItemSelection.buildTable(table, content.blocks().select(Constructor.this::canProduce), () -> recipe, this::configure); } @Override diff --git a/gradle.properties b/gradle.properties index 3489eea88c..a5a0e68fcb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,4 +10,4 @@ kapt.include.compile.classpath=false kotlin.stdlib.default.dependency=false #needed for android compilation android.useAndroidX=true -archash=f223b2a9d421d751209efedc615352257fb3773b +archash=a81197126a9190337ab9065734b5134d5f08ac05