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 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^RW7>k44ofy`glX=O&z$)SC z;uumf=j~i;KN&}XHtr*=96F6I4jWXm3)yF1;M}h8SkUqr*EHk%hr|u`F<(;4acE$f zq+7@$v*4Jqul?(bp|;lhTef^V^DXTE{cpRg(_cS&_3P=A)9M=*UH&V5@k_m3otW?b zu-gm_{@?j;73Qqj#>f!1`YVs4=k0f`q8yV#TeiMpPhen3xFw)7i~j*5!wfZ+)z6q& z7#MuGn^HeBDlss;ahS2IEJ!?jwJ8I`8(BG)_4aq|_uLI$wfV07$=CMt?0f$0z414C z>b~{y=l6TgpMSY%XUDJLMH!q0T~k?leg=zdU3P+rqxMA3zX%bIlUgVKPq^?pa{Z~$ z>xQCJ8GNr^I~nu-C`YhR7vqj&Y41NUOgrsbS|F0xlasqIShq!qq0ZaCae@(BweMr& zpjC|%SOs3E6*_C2-1Eftj_NWIr)`3Mrdsc!Rt3i0zq@a5oQ&-Ly?v<_74;tRlfxMq z=1mHZ<)YLW6BElx}0>Io%s5mkG#VhGa%K@eZ&t~73 zV%q+5Ms=_f^MMd+G3iVnADN#4vwJqPI2wyxy&1qQuq9a|j=w`Q?D({_oZ514zs0V< zg6=-nX}A%0_D){&(TjzmES_5>W*@mWtJpjIh1QA`;k8c|teUFvYL+xeki;!6C-Kb-MFM-S7|Pt92hS|_2uj> z-|rT|ag|}q^`>C9?CU=zI4*u=n117=@;`IezkwRhYxaiRV%V~ymgC(18+#%*uoTRZ z>eroBkXc)9{p<0hkUJY^J(gwA{9HXj%D;n9ca&V9oMr8_gImO#bP&Hc4zg@7s$t%O~CNJ>T{% zXWwL#mN%A(Z=OgWSIp3BnACo9Zq_+=9#=a}{Ys8m$%l2re{KA|f;sT2swem2jJFb3 z7&6jpG|onxU^u6De)aw2lQrsV|1Q^2UBK3KML(i&$-<4yv)6KIHD0(?;}f;^yuyZU zj5A(osC0g8E}1T-{mpF#mt)ZfH{aiHKF#^N{I_eBV~py-Nip+w%%87tjd!jPi@p9F z0hi;9!3_eZnZ;YycCUUt{R;1u=P5^@tY0?uoaNK7hZ|ldJl_-KKSk>!-(MNSE+@5V zI{9Arnq%X7r?y`V)aG zS4k!IveyKa#eLb3y|~KOVY5oawEGg%e>J~qJJ-KU_O$u@ua-%MX9eO!U$;&BHCdKD zqkGq9pVt%H{C3Js{24rHuXebQ5A%Z`FHQPPR(LrYa5r4GI4$7AG{NAE7E3XMO7A9) pgE9@i7X+9p)9>iaxpU*8ychRvn{^!u5)2Fs44$rjF6*2UngFBMX+i)1 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 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^RW7>k44ofy`glX=O&z`DTG z#WAE}&fB@R*&&W1ZRhpEx>60CCUkU7@YBiBJ#s6^<5hy{NBJl6E^AauFWu%$O4R0f zDR!hoiBVb8^=-^*VfD!~E#-@!o!eXfe63Jt`T0HPYu=yPIeGf->d#NFih8`fc=-3^ zC-Nq&UtgWwZTZ#w^368_ef#B7?N_{9vtynwBZCx6wCA2#kNA0;dY8!g-i?=PvB}&s z^Vk0i3NMy?eImoqz~;D0M!$)HL5gKvk!=SPLxzAxJ1^#g zZ*|YjRBe1PyI)G1<$lc+mZtlm?7fd1b`-x<`RSP4EMP2uv{67xy?OHj@$=g!Kl}Uh zgH&D3?-_p#v>qsS22YE~Z|L$3n&j3Vb?EE;`F{2L3jZ3#>@2hXdC)nZ^HP^c7UxPy zrOZC=gQoIRn;H)Cly-Fm`>rbcU8ES0nlAadB)eM9NM5w*!S$Afjvt=?l;W6UwAuIO z%@}_(S8=Bthc4DBQCB>;-)Wm#cs-tYw z=}aor-zom&_04y6pAP2N>vVtX+i|+`Y*PF0`XwI&&QJBT3i(^KLbYaR#p^HWS?^!` zcrCbdyNJ+s)r-`zBTtSknwyt?)~C$u`g6t4 zfp#qc-%~ghuh;ncg!}Vtx@L7V*!kT(K~u9YzA+p-FK18QX~}*_;OfzGg|zO)5-kg7 z^>;aLh>DoC&aalk*6O>l##zFPwONjKkY@N(5K z;#e*seP)B|6eIZtw&-M=S27M>s>>?(c`;pEVa~AY&$%7`0#(cjfmazqrb#wj**JBh z=JzFS+Ly&Pa0uv}W!JdC+AG<#^(RB?u?9mYjYK<#gN_wG0$wxu11iK!*f> zA_r!ib&qs5VBWy-Y_X2wmduP)Q--Nmr5R$E*-f7JNPFcy28I`GP0wD`c$V@lNE12` zo`3IbaC%_2jPIHvvnjhoVt1+jNDpLu6}#LhoAJ`+w5{vc?$UM4`ls-&gYksE{S|@b zN>lbM2z(>4V@cT6CWXw_)2p>z&#f1eY+35N%dK4H@0lROZ?9%$h3h&dKT}w@a$EPU zqOBpUEo>84El_=ZLAzSu*_+i@_HnNX3}5-XTP^34XcniG#YW}+S?^U=%vkXy`>K#x zpyuhMBJP~beQIKPK874ugQf*~{?=H#_O4FSJ~c5B(aHP=wKC^d@N_)on>weZZqrV~ ziSJ}R=jq!{{rl+Wx0YQ>ulqPR3SXYp@^o2eG~Qj-{@n)cI!Zd=fc<)Yb~5sIeyG9u?s*8UVYmSuOU{lRy( zAdWZTlFM2Ij^){LDIVFC#L05)w2h_ItB_#r)#3~MX8o*+bU5+PDJ}3U`vX ctsnTU*^O6C5M1WPz`(%Z>FVdQ&MBb@07O!;r2qf` 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 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^RW7>k44ofy`glX=O&!1~0~ z#WAE}&fB@RelorSZQT=KEyUuX zAZV$0v@vw`!tJ|vt=jb~y)N$M<@WMr)w}McFRNZwpZ2Zp?!P*FE89jXtGd0xORMen z=uC>|EM0w-ElzHJm%K%LWR&vO)Qth`3;|M3=Zs4;1g!on7HJW>dSrq^$=~`XZ2_D5 zY(Kpzwx)VMBYs=XXm=IpP=?$^@cznC3_xQqOvvwUv>f;X?7D(~mEg z&7UBapIx|6?%Q;R5AIX%|KBn#^{029y}dp6ufu^KxExy7vGo0vS}Nu7*7@n$&@5j; z)(6%etDhBr%jIQ?WZlXB@o%o`>s84gxA8suxnY0EQ%}vX*!Cm4n2NNIM@BxLF-yCV zmqB{=;>*Go_V&s03St_^IeH_-erEM)w;o`6ua?OX ztoTwyh<^;nMYkDQAqCP`HS({0FW9z+fnoN6qOIclYJR6)&)9m)Mf&Lzw;8*H%wGTI z|1UquYwF!6dMDTq>i(FZFhytg&D;!mrxgcgIheiv{kGon@|VkAb^cRd79Y6y(sRp# zAmyc*!RO*mZz@jZdhqSI|Ft?PWlNCAx}Dbq&M*|5b zU&@jcxj(yqeo=Rq5~I$&YXyI*HhiwGZ*b23C-KDTL+J!ffiYYNp+uAI!&0>|H<(OgF@+qBrbuV)Blkma2d7`n)*rvE}*jHI=Ea{qNEp(eAd^x0c`f`*G`WWsTNf zSDKWQuH1Ihn5(Pb)#Gz@!q%S*6Q4IsTi-P= zpUpohy?Kj3P}r^=nWmX4nL8^zQ_b{Wym}V3rT&zc`28|psk~cP{%X$jJM+lNBl6`U z!%Ib}y*C&ox&O7{jR_;?)3)N8YT(I=J zZ==G`U2?m5FF19u2EAHy?akswg}+-Ct`N+78@%1wdYS*D-3z1y*4V$8bGYWup5$ro zJ9cKtI_Z86Ty|fOdu1rc*0b(~e{cT&_4fDf%9T}@&Pi>kYjs*%bVTauo7XK{86(!+ zTT>}?WL=9A_ttEujE7uH6hxvm@cZ<~RTV literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/payload/payload-deconstructor-top.png b/core/assets-raw/sprites/blocks/payload/deconstructor-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/payload/payload-deconstructor-top.png rename to core/assets-raw/sprites/blocks/payload/deconstructor-top.png diff --git a/core/assets-raw/sprites/blocks/payload/payload-deconstructor.png b/core/assets-raw/sprites/blocks/payload/deconstructor.png similarity index 100% rename from core/assets-raw/sprites/blocks/payload/payload-deconstructor.png rename to core/assets-raw/sprites/blocks/payload/deconstructor.png diff --git a/core/assets-raw/sprites/blocks/units/factory-in-3.png b/core/assets-raw/sprites/blocks/payload/factory-in-3.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-in-3.png rename to core/assets-raw/sprites/blocks/payload/factory-in-3.png diff --git a/core/assets-raw/sprites/blocks/units/factory-in-5.png b/core/assets-raw/sprites/blocks/payload/factory-in-5.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-in-5.png rename to core/assets-raw/sprites/blocks/payload/factory-in-5.png diff --git a/core/assets-raw/sprites/blocks/units/factory-in-7.png b/core/assets-raw/sprites/blocks/payload/factory-in-7.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-in-7.png rename to core/assets-raw/sprites/blocks/payload/factory-in-7.png diff --git a/core/assets-raw/sprites/blocks/units/factory-in-9.png b/core/assets-raw/sprites/blocks/payload/factory-in-9.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-in-9.png rename to core/assets-raw/sprites/blocks/payload/factory-in-9.png diff --git a/core/assets-raw/sprites/blocks/units/factory-out-3.png b/core/assets-raw/sprites/blocks/payload/factory-out-3.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-out-3.png rename to core/assets-raw/sprites/blocks/payload/factory-out-3.png diff --git a/core/assets-raw/sprites/blocks/units/factory-out-5.png b/core/assets-raw/sprites/blocks/payload/factory-out-5.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-out-5.png rename to core/assets-raw/sprites/blocks/payload/factory-out-5.png diff --git a/core/assets-raw/sprites/blocks/units/factory-out-7.png b/core/assets-raw/sprites/blocks/payload/factory-out-7.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-out-7.png rename to core/assets-raw/sprites/blocks/payload/factory-out-7.png diff --git a/core/assets-raw/sprites/blocks/units/factory-out-9.png b/core/assets-raw/sprites/blocks/payload/factory-out-9.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-out-9.png rename to core/assets-raw/sprites/blocks/payload/factory-out-9.png diff --git a/core/assets-raw/sprites/blocks/units/factory-top-3.png b/core/assets-raw/sprites/blocks/payload/factory-top-3.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-top-3.png rename to core/assets-raw/sprites/blocks/payload/factory-top-3.png diff --git a/core/assets-raw/sprites/blocks/units/factory-top-5.png b/core/assets-raw/sprites/blocks/payload/factory-top-5.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-top-5.png rename to core/assets-raw/sprites/blocks/payload/factory-top-5.png diff --git a/core/assets-raw/sprites/blocks/payload/large-constructor.png b/core/assets-raw/sprites/blocks/payload/large-constructor.png new file mode 100644 index 0000000000000000000000000000000000000000..a69f4cf290befd77c281711c10cc21c5c496c132 GIT binary patch literal 1260 zcmeAS@N?(olHy`uVBq!ia0y~yU zJUE_o_2ALSaQ1LVfj5mDwse2q#WO>4v)p+(yWwDNzX6b35NRp#$XxRuvxN%zND@C_mwFeIK~M+qQ(Grkx@3k)m_kokg-tTQ@m* z);wAKMdPEnnvrUqkL@e|y+3~b{?b0_fzENehB?JI-ixss7_|S*V@zdXTY9LONyAT; zpKF1JuT4W}&f@jw^*8!5eE3oE?bf@`U;R?+FYWlCP{hL5%U)1#v+_;wBr}^11{r4l z2d}c$Zp)uv^3YM?!HkMq$1hB^v*BRa(y+W%XWfqnjRF^h;--pp?5ki{t@xVr#iP*5 z+Pa5_m-jDhFA?OF!-uJ6N_qcL^`KaIx)+gQK zU3b3keCBcG5cAXE8&?H2yq*~&A2(joywm=;S^eg@=f%zs8k2Z)UhffcP5!;`gTqS^zlj$% z8K}rf>=s|AzC?$om%WYAF-+{(0p{lZ&9gqP>`Z>x_)+l1WW$dN#RoQiR7iH? zK-A`hzy%?>6t)arej}zW9qcn1qK-E6Fz7yJ)VV%8_e$}ODI5FPw+d$P8nWAD%sCV$ zP<)WtomWQMP~9eDrpqy>GrasfXAfCEY7{&W^HJd;b7;8ahA%3S+UEo%epPMsissGz zXIpMlz_9F4_P=_riVF-rz2T`^6#>jLT>4L)<{NJ6YHj}csPRzhnK>U57Q8;N^3g$t zhTvn(M;d~UH@7qtA7Ey6xUOR-ZsW1RsnoAx!4HFnf4&&3wC1_L;_3m*M~y-cVm>-B z7M!aP;It^W>0r>Q$d7E>)2LnXe>2O?>@!W}k{2)aHGQ|c=WWe3&pOWAnk%llYI>Q- zo_AZ~j;%4j-Sm87*nyq4p`5+K8y@_8E}L+0@>8Y_4^DpO-|&F-*|Trwp7{SOJ{j-5 Xyk774Bh9`br~2$7gdEslmsP~D-;yvr)B1( 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 Fng9aOJyZYy delta 1254 zcmca*_nvctWIZzj1H&G{>GBK=42;D=?oJHr&dI!FU|`@0@Ck99F>A?&T?g_C8oa!N z_rCmW$H2fc(bL5-q+-t7JFlx2J8-Zi7~T7C`+l2e2_H|50efa}-Pca0_v@_Ysa74~ z^E%i%rHT7Lb29h-hJ~&751crp9v~{Weu43hs2fMhb%g^2<=E>LRGQS{w)!{(R>(9= z@DM1n^QmBBeOSogq~v(wx57i#H(dS90@wDPJF;sU=MBMYrjd!SlhwCv^>GNhaV=$K zP=~6IgP%rNdrJ|k^ar7N-5z@U98;M>t$BZl#c59riWklL8EP&1Lu6lYmMN@dpZ0cwYfh|3a^O~GGojyECKs=B%}zYF zd6EB@t;Zc#^`r#rmjA>v1ZZn z=R#)tuQ^2f-ZWnx#W^Q%qAWjKlGz3sFLjYW%zek&nQD_2rM(-D$~SLhiui9T!g`_R z#36xo^N)091aN+l6Upd3fAfv?0j><8d9PcqS~5R+^RxW*x*bf5+D)$2rQM$x@2ZubvHoRx+@XHG z3p-?!?Xvki9YSAxyt&DPEz4>8`AKe40%B1$6;dw`JpFDSdOzsFgP(Vb7S!H+&sufO zkGcLr>DBFDdpTAL20i}FT&pa=p7Q;u3D=qMX@LsGCeB6y`E!IcraW8V=F!{F`l>gW zsr8Y}6^@l33mx|6zjb~#rSXnuF#n5>KU?e;oPRE~t08W_`wPZjwR{iPv$Vw@`Di}r z$6=qAMyo&T^!^=m`g3^g5B4=5`F}p1Z&G_8GyRY7_xg(t4PKnjr*$oR>9FNu?DYFQ zbMtmKSZ<%L@6L4Y{j-xV;%%ZXpZ}--D$d5}_qKZ{7~Ky{$&p?A*}idZw>#hcZL>Qc z*e!Xx{biZXuF1DK{w(chIa0qu>0h#Dx!sNC)cfBvL}t}qKb%_e&9?t}dcS=Rs+#`o?}7@vkFQd%4Row6I?1?f8gQ|iw9G* z*Hlhv|6{DR?!(_X*RNHTpS5vn=dbvR!??KRoZ^xC3BqJ*(~9mt$Fev ze!Y`)ncWh)m|fWZqv$6!-5cINe4qTBUJhZ&LC+)sEr**upHUIQPr)d|stc4Zh^;{Y_KU_WZ&gI1P`i)|Y zY6rr(T01Aa7fL$7@}sE5Lh#dECxHt0fRYEVSMM*^Ub5iDf%or)?&nTuUc@Z?mw92) XoqPBGCLd&AU|{fc^>bP0l+XkK5rjzN 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