From c74a8a2fa661a3bea05c6c9b25299b32f0705c80 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 20 May 2017 10:08:25 -0400 Subject: [PATCH] Added more blocks, updated Delta map --- core/assets/maps/delta.png | Bin 1186 -> 2399 bytes core/assets/maps/map.png | Bin 1204 -> 1183 bytes core/assets/sprites/mindustry.atlas | 203 +++++++++++------- core/assets/sprites/mindustry.png | Bin 6045 -> 6869 bytes core/assets/ui/out/button-map-down.9.png | Bin 212 -> 213 bytes core/assets/ui/out/button-map-over.9.png | Bin 212 -> 212 bytes core/assets/ui/out/button-map.9.png | Bin 205 -> 205 bytes core/assets/ui/uiskin.png | Bin 11998 -> 12006 bytes core/src/io/anuke/mindustry/Vars.java | 4 +- core/src/io/anuke/mindustry/World.java | 2 +- .../io/anuke/mindustry/world/Generator.java | 84 +++++--- .../anuke/mindustry/world/blocks/Blocks.java | 37 +++- 12 files changed, 214 insertions(+), 116 deletions(-) diff --git a/core/assets/maps/delta.png b/core/assets/maps/delta.png index 79a5dccc681ba1d1604635403f7aeb8065d6ed62..a1dde73f175653ffe93f557e913587e459ef3b0f 100644 GIT binary patch delta 2324 zcmV+v3G4Qv3EvWsK?oEAF(MZ3zXy>?Cw~apNklJ-+SAP-=S zwOz|aMwWYH4B$?X$KE+80;5ooNj!BX4-hKk9I_UTG<5AUFSbY!4M!pqvLC=Fg-zagRNwc?Q2_lx;|JUevIPUKEq_K16cw89 zQ-qm_9+Z!216b&%i$EVZseIl{9uO3Y74+qMNc0KWB!RSqe@C3lhJN(LqnmsgkQPPebNO-jmEc2P`x8(P0QzsyI>_H4=!T+ zN)d+_ga=>oft^6+Nqkdqz<-N4r|l=|7*WxufDU8?X%cjwy4wX7BAW`cqS zqQopzqml^F6~?GYwp*2BBOq3si3l2;v9~Prkuks+W`Wex$I$w|Z@U(594+$_)ZmlP zYrKXCyrPK&KsX_qfJ_6oXwMj+lz1==oTpGMj0p@;g&6dk4F&qv@_+5q9oT(bACL?tT0NT_WPZ zqR^`bk#NzYmRSi!RyYB5E1OP;vU;JsgNE*>xf9rw#P+#fXYqKhrI=p1CG z0f7KpIp!IneS(DTAqi3Tl9L0f7~m|p-nu=5wMT@d_@NQl|HFz1aMof@{RvI}NS}0W zzyrkn$JuHASwj`(rZ^s8(|R9bZ2FVO#tT*eR9TP`32Yp2^M8lY-;fhT8%mSmHWaB5 zeI8|&k$$&3koZgl7&B4X_BrS>^y{AAfO)JgcR&23raVl8qk-ofwVz{Mu1WZa3ON`g7P=NC<>00 zW6A4)?Fw`rM}KV4ukw`zxtzcV-`}JD_*sy7w)%bYH`P+;JEx9qqYyLZKQ<4jt?RIp zEa){YB|I73qJq~&K=<`nmkPUPu2*ILK~#0Oi{jIXOjFeX>x5@1DmX!}(`I$Vw;@5Y z5c%9d1o|m%JcwR8cYg(RZ)oT|S6E8-^#HEBTJ&vm zHE?O5?FG&EX;q zWjcH2jelC!3G^262?`iFBxqHk``bc0#Rj<(h^$nZ>uJ7!ixB%{f&ONWwMwZ*2{Jl? zj-YJdy0ObMt3%x=$qD?--#EFZa3N*{NTfqSUTmAeh|57}L5I6?gk;mc?soCtl!Q-F zaT-40Lns`G3x?GkecjFpQEGS?5LyqQrYNtDK7V73O+Q~BUH&yX0WK3O2V+*P!}b7B zY7Fa^Y_c=`WQ;A(d3nz3KV?3$j0`j58Og*f?Yc#!rvFJ6pO<%kqrZOsoZEAk86Dwa zfFGa~1Wg`ma;`$Lp>g<%;Eo9AZ66D=S+~=nJb~|K~jm%9Ee?^PSQuK_&nw>o321 zn-Cc-y*+nE^qFOYC!$~=KiEL;L*$d7FdNYjS3n8c4~-%oR2>6&(karoaU6y1Uw-#o zPsRP@1hLLipvhn|)2|U|s72gl&KTf`Re#AVd}4Oa^%>88*}82yIS}re$L`Bje+$@NMfL*>r zPjLk-+d5G|FL(K!d$C3Xv5zp&RO_1+#$MG41_WPk&~ewH$MV)}vDZJgRT=}11b?&& z0&rER65Qp>K*=?l%s#s(t4Fagsx(x$j@>jT=KB=-g5@$EfLIOqz6|KUks5vU-=u0s zvyi!-1%)WC*M_*PY6C%-H)QgJfpyP?jF~RsGvQ4%Bwi~Czd?7RkGrZcUoR+5f8rL{ zB#JxWZRl${NjyNQ(Xo0#J1fCR2!Ak7G%pt|>!`xCMe~1L&`5~vwf$A6i95QPP(HJ4u1h~-wm*C z;{#;zeYsJSISeSE+ZGv)(x@l~$ggW~>O1LkeA0Yhe{p=VLd@8Q@HBb(MdkW0!21G~ zMI5DA!z{#j4^DwH=&68C17BT(PD4E#)gf2H#sCZN=%s&Crx4|BgLUo>Ncc#yR7y?? zG`b2^Juxf)W@Y(Dv$Olz+<)r_PBmX#*|&@x9uO?YTYURQ!;Vo@;&w$qJ+I^2KLK^V z0VTpe_9j6Yh_UrY@Wy#>-|he7IYBscT~K8kq2yxn`UP~AHAT%*pDE5 u5O9oxfP;Wz90VK$9OEG1AmAAA_#aEgPtl?TkhA~*002ovPDHLkU;%<_i&aYi delta 1101 zcmV-T1hV_z5~2x^K?nl^F>CXupw3Cw~MSNkl zqjbfa-RPT`i6<*zKXAJRz?A!1=-1m@Zji{=r#Pg#>t&&{(CSJ0m()PLn7 z>V3GntjaEYc_VX5y^yUG*EtycP(rCS|uIu{Q zK{*bQrqY#>*ln)vLnY8c7!)gFUhL1huI)p^XImB4Pd5|p8e+4cem(jUI2BO>4&(}j zWn?w(x5(YyJb)`l*)D0k;awS(>3;$6=|NpX(nu&v%~AnJT|KRhyM=V1U7gX_SS#c~ z=Ig&PPFY`{w)^CPcnt#?rUsnW_GdEfjm7Shg=Xnp&vaLWPvd)$hVA81r>;2NkU7mr zjN?wO3gKu^*trd(E0M2A8E}P)=e#X51t@IqT_KPa2Ba4H>%DCmt%k#Ztbf!!Fpgv_ z(G?7oVTe(Lcf&1&fwB}V0pJpcgc}2!IcXK3ze^P+1zq3O@*El+A(HcMXPRyJ0)T6U z(g{4nL?QiH9}OZudppC4gks2dhXm){>yA_dJS3k#mb42r`7qRpXr!4zZd1WBhmk`P zd5He2526c1CAYwJCLC9O8-II8OcXyIA(Ek&yWyMdG%~rOs#Ww)UmZ(03d(VeGV?qj z<=oo~0Iuk7yQofnfq!s{jI7|~#c=$}9 zua|SLyUV_e(emW3@~f~|BAbFj=XafKS-1k->#pdnEA9VpeyNd*Lw|bp0C~9ULvFQ> z0wn<_t?+t9CcQc(jxzDvn`8HiZA-H2jhcGqwOS|0c|apX6q3(`8!MIh^=&4DY_jr| z<pg939l2F#3zmi&@x-Gy?#kw*eq)+#P+)^J4Uszi~H_0(!4R8T%?5 zhM|*M_zyTFSPo*xz=Z;00pt3Z>ToE1VsPXYBL-jFwkdF=J%7G_3i8|S#X^kH06_UV zG9m7ter#Y25)lBR&*p}|A25J{UjQ^=Xg|r!jzL*`o6tYz00000NkvXXu0mjfL+ASW diff --git a/core/assets/maps/map.png b/core/assets/maps/map.png index 0c7af60bbe66c42fcfb07ec1d3d46b585965d0ef..6b0358b633348c1c4f119ef36361e8122be4641a 100644 GIT binary patch delta 1126 zcmV-s1eyD^37-j&Bqa%ONLh0L01FcU01FcV0GgZ_00007bV*G`2jK-17dZ%Fzl|7=@-RFob~jC6P%T4hkVqRrjd(BPV=40-~924ika8MBZ0goqTj z2oa&@#yXbFLv~DBi_y%(qmY)-pJFuS#Z-U$ba~s~ZwvQ(g}B(xp!<2Xwe~qdJ0B8HraL3CIo!SuJBBvGV2N_fi}Pu% z^_Pavv39(Ex|Q&$5?clJ>(;lxX)$%cfmq?NjqK+8J#>d#2WZ8p*e#7WymzWHKLCF| zHQ48nH4@HLi)6sJsUGIW%|tpdu21zfHi{t7y!{u&CF|?cHlI9TuVEn5lUG0wWDX;eV%@2gA%M<=!DSd-i+Cl@fIDP7@Ug-e z;BdTm#et$Q5I56bpKVXInhpbrV)uVQ9jTb2cQ9~@f&LEY;JRns znQ{O^@cHK@{RAyuhJujB+A{<;6x`+z0dyh+>%Zz?xwuDLZxjHa+&^|xU2u#(=Vc(0*A1`G2#12M z0DNl|LiT-Y-K6{s8G@`f0BR^K6T0wlPaxLIx!2WI-^S>9@~QOeuvuaof>OtKpJ=&g z8Tzccrnj#2|9|+UMi5PU`v!kPxa-4iw@wlT0gzF2wUUro9XgJ)dRg%sHmrK?KUn6vWe4I0BeZz&w#NXez%lyd1QG;ygU zT)UrZiZYY{7^Y&9Acg_y3jFi{eCseF49o%30Kjlh222kCNf6HfV!(e8gzj6CMNu+< zk`{n^Bv70Y8Nd)k02qa)U;r_wAA;83l>memC-+7GCn zO&xqyLgQyn%XCI;WM zQpDir@pw4+NWXn?67qlB?ZrkO;{ky4b!0}qfB3P1F-S}R$iA8z{(is!2Dkut!qDHz ztd7BQ!xp2J8cxnf2cSP9CoQzlL(o7>Fg3J#6yjDyuv7ye-EIdNKma1v+XR3it|9<9 zpW~|!0Oldu06(gQAO~Q+eQa_pIxRO!Xfi06gmWG7vkD>rbF4OaCt^S@Y^0c>(=lVA svy%Z#!W05P04M~208j`30igKGA5+?3>SrZkb^rhX07*qoM6N<$g0K7!UH||9 delta 1119 zcmV-l1fct$3A722Bo78+OGiWi{{a60|De66laV1H2m=B!5EJ)-p^-@_e;i3fK~#9! z?Ooe#!!QhV3C)!5;Hf-Sc4(&RN6{ciY*~`|*737wEQ)tW>S4)W+qNxjcE8`>{_^v9 zeBW-L|GBQ~B55t22>I~ZG)tp&#hcyeo0y3wERA*mAkFLOHWnY!Nf9ApVPXX4+7gTA z5xY-WlTgpivk+I%pC;7he0Qrs zSAXZc?&^&Aty_|F2(Yb5aLutIQMz3DTbi{ zK(G`;1U3o?H^2`Mz|jd4zb6)SfW^p(GHH<1E*uS6O9DjSBOlUn!>I3!pOV#mOR0%8H<`k3l)D1BmZtgYwiKiQ%+bdt$FfsdV5Y?&VG)kC#g9=CIRKbr#ygP$Vqrtc0v%2n1!RW;P=sLs l006)M004ji0002fwO`9eVs`Khtdjr$002ovPDHLkV1leD0!aV> diff --git a/core/assets/sprites/mindustry.atlas b/core/assets/sprites/mindustry.atlas index aaf18f5303..0282756873 100644 --- a/core/assets/sprites/mindustry.atlas +++ b/core/assets/sprites/mindustry.atlas @@ -6,7 +6,7 @@ filter: Nearest,Nearest repeat: none block rotate: false - xy: 161, 23 + xy: 175, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -20,7 +20,7 @@ bossmech index: -1 bullet rotate: false - xy: 171, 23 + xy: 185, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -34,98 +34,112 @@ circle index: -1 coal1 rotate: false - xy: 181, 23 + xy: 195, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 191, 23 + xy: 205, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 201, 23 + xy: 215, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coaldrill rotate: false - xy: 211, 23 + xy: 225, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 221, 23 + xy: 235, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyormove rotate: false - xy: 231, 23 + xy: 245, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 core rotate: false - xy: 241, 23 + xy: 255, 23 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +deepwater + rotate: false + xy: 265, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 251, 23 + xy: 275, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 261, 23 + xy: 285, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 271, 23 + xy: 295, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirtblock rotate: false - xy: 281, 23 + xy: 305, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 +dirtedge + rotate: false + xy: 37, 19 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 doubleturret rotate: false - xy: 51, 7 + xy: 65, 7 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 drill rotate: false - xy: 291, 23 + xy: 315, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fastmech rotate: false - xy: 301, 23 + xy: 325, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -139,126 +153,140 @@ firemech index: -1 flameturret rotate: false - xy: 65, 21 + xy: 79, 21 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 furnace rotate: false - xy: 311, 23 + xy: 335, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter rotate: false - xy: 311, 23 + xy: 335, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass1 rotate: false - xy: 321, 23 + xy: 345, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass2 rotate: false - xy: 331, 23 + xy: 355, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 341, 23 + xy: 365, 23 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +grassblock + rotate: false + xy: 375, 23 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +grassblock2 + rotate: false + xy: 385, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassedge rotate: false - xy: 37, 19 + xy: 37, 5 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 icon-coal rotate: false - xy: 351, 23 + xy: 395, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-iron rotate: false - xy: 361, 23 + xy: 405, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-steel rotate: false - xy: 371, 23 + xy: 415, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-stone rotate: false - xy: 381, 23 + xy: 425, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron1 rotate: false - xy: 391, 23 + xy: 435, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron2 rotate: false - xy: 401, 23 + xy: 445, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron3 rotate: false - xy: 411, 23 + xy: 455, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill rotate: false - xy: 421, 23 + xy: 465, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ironwall rotate: false - xy: 431, 23 + xy: 475, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 junction rotate: false - xy: 441, 23 + xy: 485, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laser rotate: false - xy: 63, 5 + xy: 77, 5 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -272,238 +300,259 @@ laserend index: -1 machineturret rotate: false - xy: 77, 21 + xy: 91, 21 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 mech1 rotate: false - xy: 451, 23 + xy: 495, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 megarepairturret rotate: false - xy: 89, 21 + xy: 103, 21 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 +mossblock + rotate: false + xy: 80, 11 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +mossstone + rotate: false + xy: 80, 11 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 player rotate: false - xy: 461, 23 + xy: 80, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairturret rotate: false - xy: 101, 21 + xy: 115, 21 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 rock rotate: false - xy: 471, 23 + xy: 90, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock2 rotate: false - xy: 481, 23 + xy: 90, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock2shadow rotate: false - xy: 491, 23 + xy: 100, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow rotate: false - xy: 501, 23 + xy: 100, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 66, 11 + xy: 110, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shadow rotate: false - xy: 113, 21 + xy: 127, 21 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shotgunturret rotate: false - xy: 125, 21 + xy: 139, 21 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 +shrub + rotate: false + xy: 110, 1 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +shrubshadow + rotate: false + xy: 120, 11 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 sniperturret rotate: false - xy: 137, 21 + xy: 151, 21 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 66, 1 + xy: 120, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 76, 11 + xy: 130, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 76, 1 + xy: 130, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone rotate: false - xy: 37, 5 - size: 12, 12 - orig: 12, 12 - offset: 0, 0 - index: -1 -stoneedge - rotate: false - xy: 37, 5 + xy: 51, 19 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 stone1 rotate: false - xy: 86, 11 + xy: 140, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 86, 1 + xy: 140, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 96, 11 + xy: 150, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock rotate: false - xy: 96, 1 + xy: 150, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 106, 11 + xy: 160, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 106, 1 + xy: 160, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonedrill rotate: false - xy: 116, 11 + xy: 170, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -stonedrillhead +stoneedge rotate: false - xy: 116, 11 - size: 8, 8 - orig: 8, 8 + xy: 51, 5 + size: 12, 12 + orig: 12, 12 offset: 0, 0 index: -1 stonewall rotate: false - xy: 116, 1 + xy: 170, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 turret rotate: false - xy: 149, 21 + xy: 163, 21 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 water rotate: false - xy: 126, 11 + xy: 180, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 wateredge rotate: false - xy: 51, 19 + xy: 65, 19 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 weapon-blaster rotate: false - xy: 126, 1 + xy: 180, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapon-flamethrower rotate: false - xy: 136, 11 + xy: 190, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapon-multigun rotate: false - xy: 136, 1 + xy: 190, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapon-trishot rotate: false - xy: 146, 11 + xy: 200, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/mindustry.png b/core/assets/sprites/mindustry.png index 701b9ddd612fd8c710fd4b59783007aaaf28061b..a354a2536d070c9ea6f2fda7614d9d8379697e21 100644 GIT binary patch literal 6869 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 delta 98 zcmcc0c!hC-BM&pPpt0(;eQpd448;?DZM-vHrh9kstWDoxEakpftT)Oe>*5MmIO9wH wb;Cv5-@Y<^-@|rS;kA6=EqSTl#Sa-7sxkyO&tZM33N(hn)78&qol`;+09LCeumAu6 diff --git a/core/assets/ui/out/button-map-over.9.png b/core/assets/ui/out/button-map-over.9.png index be806bab8dc2f40656e05fa9e7b4490edf4c772e..02b2542e97511d9db1b057639f13614a32cfbf39 100644 GIT binary patch delta 93 zcmcb@c!hC-BZsiKmE{lDZ%h+C9lcK3R(A2c6{|Fra$hXg8)cGpafK_K@g@Jd;iBzt qcb$#vWxK2JT0ZcWyj1Vvhl~t{HG&VzrY$|i00f?{elF{r5}E)Gqb7|2 delta 93 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 literal 11998 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 colors = map( + Hue.rgb(80, 150, 90), Blocks.grass, + Hue.rgb(90, 180, 100), Blocks.grassblock, + Hue.rgb(80, 110, 180), Blocks.water, + Hue.rgb(70, 90, 150), Blocks.deepwater, + Hue.rgb(110, 80, 30), Blocks.dirt, + Hue.rgb(100, 100, 100), Blocks.stoneblock + ); + /**Returns world size.*/ public static void generate(int map){ Pixmap pix = mapPixmaps[map]; @@ -31,37 +39,44 @@ public class Generator{ int color = pix.getPixel(x, pix.getHeight()-1-y); - if(Noise.nnoise(x, y, 8, 1) > 0.22){ - floor = Blocks.iron; - } - - if(Noise.nnoise(x, y, 8, 1) > 0.1){ - floor = Blocks.grass; - } - - if(Noise.nnoise(x, y, 8, 1) > 0.1){ - floor = Blocks.water; - } - - if(Mathf.chance(0.01)){ - block = Blocks.rock; - } - - if(Mathf.chance(0.01)){ - block = Blocks.rock2; - } - - if(Noise.nnoise(x, y, 6, 1) > 0.245){ - floor = Blocks.coal; - } - if(color == stone && map == 1){ - block = Blocks.dirtblock; - }else if(color == stone){ - block = Mathf.choose(Blocks.stoneblock, Blocks.stoneblock2, Blocks.stoneblock3); + if(colors.containsKey(color)){ + //TODO less hacky method + if(colors.get(color).name().contains("block")){ + block = colors.get(color); + }else{ + floor = colors.get(color); + } }else if(color == start){ core = tiles[x][y]; }else if(color == spawn){ spawnpoints.add(tiles[x][y]); + }else{ + if(Mathf.chance(0.02)){ + block = Mathf.choose(Blocks.rock, Blocks.rock2); + } + } + + if(floor == Blocks.stone || floor == Blocks.grass){ + if(Noise.nnoise(x, y, 8, 1) > 0.2){ + floor = Blocks.iron; + } + + if(Noise.nnoise(x, y, 6, 1) > 0.242){ + floor = Blocks.coal; + } + } + + if(block == Blocks.grassblock){ + floor = Blocks.grass; + block = Mathf.choose(Blocks.grassblock, Blocks.grassblock2); + } + + if(block == Blocks.stoneblock){ + block = Mathf.choose(Blocks.stoneblock, Blocks.stoneblock2, Blocks.stoneblock3); + } + + if(floor == Blocks.grass && Mathf.chance(0.02) && block == Blocks.air){ + block = Blocks.shrub; } tiles[x][y].setBlock(block); @@ -80,4 +95,15 @@ public class Generator{ mapTextures[i] = new Texture(pix); } } + + private static ObjectMap map(Object...objects){ + + ObjectMap out = new ObjectMap<>(); + + for(int i = 0; i < objects.length; i += 2){ + out.put(Hue.rgb((Color)objects[i]), (Block)objects[i+1]); + } + + return out; + } } diff --git a/core/src/io/anuke/mindustry/world/blocks/Blocks.java b/core/src/io/anuke/mindustry/world/blocks/Blocks.java index cc87d2d3b3..72f3ed02d2 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/Blocks.java @@ -11,6 +11,16 @@ public class Blocks{ public void draw(Tile tile){} }, + deepwater = new Block("deepwater"){{ + vary = false; + solid = true; + }}, + + water = new Block("water"){{ + vary = false; + solid = true; + }}, + stone = new Block("stone"), dirt = new Block("dirt"), @@ -21,11 +31,6 @@ public class Blocks{ grass = new Block("grass"), - water = new Block("water"){{ - vary = false; - solid = true; - }}, - stoneblock = new Block("stoneblock"){{ solid = true; }}, @@ -38,16 +43,34 @@ public class Blocks{ solid = true; }}, + grassblock = new Block("grassblock"){{ + solid = true; + }}, + + grassblock2 = new Block("grassblock2"){{ + solid = true; + }}, + + mossblock = new Block("mossblock"){{ + solid = true; + }}, + + shrub = new Block("shrub"){{ + shadow = "shrubshadow"; + breakable = true; + breaktime = 10; + }}, + rock = new Block("rock"){{ shadow = "rockshadow"; breakable = true; - breaktime = 10; + breaktime = 15; }}, rock2 = new Block("rock2"){{ shadow = "rock2shadow"; breakable = true; - breaktime = 10; + breaktime = 15; }}, dirtblock = new Block("dirtblock"){{