From e9129e6f43c9a52936bad225c3f466d890744b21 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 2 Jun 2021 11:15:30 -0400 Subject: [PATCH] Unspoiled --- .../sprites/blocks/attack/nuclear-warhead.png | Bin 0 -> 1158 bytes .../sprites/blocks/drills/beam-drill-top.png | Bin 0 -> 451 bytes .../sprites/blocks/drills/beam-drill.png | Bin 0 -> 1245 bytes .../blocks/environment/beryl-wall1.png | Bin 0 -> 518 bytes .../blocks/environment/beryl-wall2.png | Bin 0 -> 518 bytes .../sprites/blocks/environment/bluemat1.png | Bin 0 -> 241 bytes .../sprites/blocks/environment/bluemat2.png | Bin 0 -> 281 bytes .../sprites/blocks/environment/bluemat3.png | Bin 0 -> 210 bytes .../blocks/environment/carbon-wall-large.png | Bin 0 -> 1326 bytes .../blocks/environment/carbon-wall1.png | Bin 0 -> 621 bytes .../blocks/environment/carbon-wall2.png | Bin 0 -> 569 bytes .../environment/coralchunk-cluster0.png | Bin 0 -> 716 bytes .../blocks/environment/coralchunk1.png | Bin 0 -> 442 bytes .../sprites/blocks/environment/glowblob1.png | Bin 0 -> 581 bytes .../blocks/environment/graphitic-stone1.png | Bin 0 -> 432 bytes .../blocks/environment/graphitic-stone2.png | Bin 0 -> 288 bytes .../blocks/environment/graphitic-stone3.png | Bin 0 -> 264 bytes .../blocks/environment/graphitic-stone4.png | Bin 0 -> 340 bytes .../environment/graphitic-wall-large.png | Bin 0 -> 1935 bytes .../blocks/environment/graphitic-wall1.png | Bin 0 -> 794 bytes .../blocks/environment/graphitic-wall2.png | Bin 0 -> 847 bytes .../blocks/environment/graphitic-wall3.png | Bin 0 -> 706 bytes .../blocks/environment/pur-bush-bot.png | Bin 0 -> 205 bytes .../sprites/blocks/environment/pur-bush.png | Bin 0 -> 256 bytes .../sprites/blocks/environment/redmat1.png | Bin 0 -> 239 bytes .../sprites/blocks/environment/redmat2.png | Bin 0 -> 280 bytes .../sprites/blocks/environment/redmat3.png | Bin 0 -> 209 bytes .../sprites/blocks/environment/redweed2.png | Bin 0 -> 307 bytes .../sprites/blocks/environment/redweed3.png | Bin 0 -> 417 bytes .../environment/regolith-wall-large.png | Bin 0 -> 1017 bytes .../blocks/environment/regolith-wall1.png | Bin 0 -> 404 bytes .../blocks/environment/regolith-wall2.png | Bin 0 -> 397 bytes .../sprites/blocks/environment/regolith1.png | Bin 0 -> 205 bytes .../sprites/blocks/environment/regolith2.png | Bin 0 -> 298 bytes .../sprites/blocks/environment/regolith3.png | Bin 0 -> 242 bytes .../blocks/environment/rhyolite-crater1.png | Bin 0 -> 759 bytes .../blocks/environment/rhyolite-crater2.png | Bin 0 -> 728 bytes .../blocks/environment/rhyolite-crater3.png | Bin 0 -> 750 bytes .../environment/rhyolite-wall-large.png | Bin 0 -> 1085 bytes .../blocks/environment/rhyolite-wall1.png | Bin 0 -> 435 bytes .../blocks/environment/rhyolite-wall2.png | Bin 0 -> 404 bytes .../sprites/blocks/environment/rhyolite1.png | Bin 0 -> 706 bytes .../sprites/blocks/environment/rhyolite2.png | Bin 0 -> 650 bytes .../sprites/blocks/environment/rhyolite3.png | Bin 0 -> 687 bytes .../blocks/environment/wall-beryllium1.png | Bin 0 -> 346 bytes .../blocks/environment/wall-beryllium2.png | Bin 0 -> 294 bytes .../blocks/environment/wall-beryllium3.png | Bin 0 -> 296 bytes .../environment/yellow-stone-wall-large.png | Bin 0 -> 717 bytes .../blocks/environment/yellow-stone-wall1.png | Bin 0 -> 366 bytes .../blocks/environment/yellow-stone-wall2.png | Bin 0 -> 336 bytes .../blocks/environment/yellow-stone1.png | Bin 0 -> 222 bytes .../blocks/environment/yellow-stone2.png | Bin 0 -> 276 bytes .../blocks/environment/yellow-stone3.png | Bin 0 -> 215 bytes .../blocks/environment/yellowcoral-center.png | Bin 0 -> 159 bytes .../blocks/environment/yellowcoral.png | Bin 0 -> 539 bytes .../sprites/blocks/payload/ballistic-silo.png | Bin 0 -> 2904 bytes .../blocks/payload/warhead-assembler.png | Bin 0 -> 1360 bytes .../cell-synthesis-chamber-bottom.png | Bin 0 -> 307 bytes .../cell-synthesis-chamber-middle.png | Bin 0 -> 383 bytes .../production/cell-synthesis-chamber.png | Bin 0 -> 2336 bytes .../production/silicon-arc-furnace-bottom.png | Bin 0 -> 307 bytes .../silicon-arc-furnace-top-alt.png | Bin 0 -> 467 bytes .../production/silicon-arc-furnace-top.png | Bin 0 -> 442 bytes .../blocks/production/silicon-arc-furnace.png | Bin 0 -> 1704 bytes .../sprites/blocks/props/redweed1.png | Bin 0 -> 551 bytes .../sprites/items/item-beryllium.png | Bin 0 -> 386 bytes .../sprites/items/item-fissile-matter.png | Bin 0 -> 400 bytes .../sprites/items/liquid-neoplasm.png | Bin 0 -> 507 bytes core/assets/bundles/bundle.properties | 3 + core/assets/icons/icons.properties | 27 +++ core/assets/sprites/caustics.png | Bin 0 -> 47761 bytes core/assets/sprites/distortAlpha.png | Bin 0 -> 11241 bytes core/assets/sprites/rays.png | Bin 0 -> 19516 bytes core/src/mindustry/content/Blocks.java | 186 +++++++++++++++++- core/src/mindustry/content/Items.java | 13 +- core/src/mindustry/content/Liquids.java | 14 +- core/src/mindustry/content/Planets.java | 21 ++ core/src/mindustry/graphics/EnvRenderers.java | 87 ++++++++ .../maps/planet/ErekirPlanetGenerator.java | 181 +++++++++++++++++ .../maps/planet/TantrosPlanetGenerator.java | 111 +++++++++++ core/src/mindustry/mod/ClassMap.java | 8 +- .../environment/{Bush.java => SeaBush.java} | 4 +- .../{WavingProp.java => Seaweed.java} | 4 +- ...cClusterWall.java => StaticCoralWall.java} | 4 +- gradle.properties | 2 +- 85 files changed, 645 insertions(+), 20 deletions(-) create mode 100644 core/assets-raw/sprites/blocks/attack/nuclear-warhead.png create mode 100644 core/assets-raw/sprites/blocks/drills/beam-drill-top.png create mode 100644 core/assets-raw/sprites/blocks/drills/beam-drill.png create mode 100644 core/assets-raw/sprites/blocks/environment/beryl-wall1.png create mode 100644 core/assets-raw/sprites/blocks/environment/beryl-wall2.png create mode 100644 core/assets-raw/sprites/blocks/environment/bluemat1.png create mode 100644 core/assets-raw/sprites/blocks/environment/bluemat2.png create mode 100644 core/assets-raw/sprites/blocks/environment/bluemat3.png create mode 100644 core/assets-raw/sprites/blocks/environment/carbon-wall-large.png create mode 100644 core/assets-raw/sprites/blocks/environment/carbon-wall1.png create mode 100644 core/assets-raw/sprites/blocks/environment/carbon-wall2.png create mode 100644 core/assets-raw/sprites/blocks/environment/coralchunk-cluster0.png create mode 100644 core/assets-raw/sprites/blocks/environment/coralchunk1.png create mode 100644 core/assets-raw/sprites/blocks/environment/glowblob1.png create mode 100644 core/assets-raw/sprites/blocks/environment/graphitic-stone1.png create mode 100644 core/assets-raw/sprites/blocks/environment/graphitic-stone2.png create mode 100644 core/assets-raw/sprites/blocks/environment/graphitic-stone3.png create mode 100644 core/assets-raw/sprites/blocks/environment/graphitic-stone4.png create mode 100644 core/assets-raw/sprites/blocks/environment/graphitic-wall-large.png create mode 100644 core/assets-raw/sprites/blocks/environment/graphitic-wall1.png create mode 100644 core/assets-raw/sprites/blocks/environment/graphitic-wall2.png create mode 100644 core/assets-raw/sprites/blocks/environment/graphitic-wall3.png create mode 100644 core/assets-raw/sprites/blocks/environment/pur-bush-bot.png create mode 100644 core/assets-raw/sprites/blocks/environment/pur-bush.png create mode 100644 core/assets-raw/sprites/blocks/environment/redmat1.png create mode 100644 core/assets-raw/sprites/blocks/environment/redmat2.png create mode 100644 core/assets-raw/sprites/blocks/environment/redmat3.png create mode 100644 core/assets-raw/sprites/blocks/environment/redweed2.png create mode 100644 core/assets-raw/sprites/blocks/environment/redweed3.png create mode 100644 core/assets-raw/sprites/blocks/environment/regolith-wall-large.png create mode 100644 core/assets-raw/sprites/blocks/environment/regolith-wall1.png create mode 100644 core/assets-raw/sprites/blocks/environment/regolith-wall2.png create mode 100644 core/assets-raw/sprites/blocks/environment/regolith1.png create mode 100644 core/assets-raw/sprites/blocks/environment/regolith2.png create mode 100644 core/assets-raw/sprites/blocks/environment/regolith3.png create mode 100644 core/assets-raw/sprites/blocks/environment/rhyolite-crater1.png create mode 100644 core/assets-raw/sprites/blocks/environment/rhyolite-crater2.png create mode 100644 core/assets-raw/sprites/blocks/environment/rhyolite-crater3.png create mode 100644 core/assets-raw/sprites/blocks/environment/rhyolite-wall-large.png create mode 100644 core/assets-raw/sprites/blocks/environment/rhyolite-wall1.png create mode 100644 core/assets-raw/sprites/blocks/environment/rhyolite-wall2.png create mode 100644 core/assets-raw/sprites/blocks/environment/rhyolite1.png create mode 100644 core/assets-raw/sprites/blocks/environment/rhyolite2.png create mode 100644 core/assets-raw/sprites/blocks/environment/rhyolite3.png create mode 100644 core/assets-raw/sprites/blocks/environment/wall-beryllium1.png create mode 100644 core/assets-raw/sprites/blocks/environment/wall-beryllium2.png create mode 100644 core/assets-raw/sprites/blocks/environment/wall-beryllium3.png create mode 100644 core/assets-raw/sprites/blocks/environment/yellow-stone-wall-large.png create mode 100644 core/assets-raw/sprites/blocks/environment/yellow-stone-wall1.png create mode 100644 core/assets-raw/sprites/blocks/environment/yellow-stone-wall2.png create mode 100644 core/assets-raw/sprites/blocks/environment/yellow-stone1.png create mode 100644 core/assets-raw/sprites/blocks/environment/yellow-stone2.png create mode 100644 core/assets-raw/sprites/blocks/environment/yellow-stone3.png create mode 100644 core/assets-raw/sprites/blocks/environment/yellowcoral-center.png create mode 100644 core/assets-raw/sprites/blocks/environment/yellowcoral.png create mode 100644 core/assets-raw/sprites/blocks/payload/ballistic-silo.png create mode 100644 core/assets-raw/sprites/blocks/payload/warhead-assembler.png create mode 100644 core/assets-raw/sprites/blocks/production/cell-synthesis-chamber-bottom.png create mode 100644 core/assets-raw/sprites/blocks/production/cell-synthesis-chamber-middle.png create mode 100644 core/assets-raw/sprites/blocks/production/cell-synthesis-chamber.png create mode 100644 core/assets-raw/sprites/blocks/production/silicon-arc-furnace-bottom.png create mode 100644 core/assets-raw/sprites/blocks/production/silicon-arc-furnace-top-alt.png create mode 100644 core/assets-raw/sprites/blocks/production/silicon-arc-furnace-top.png create mode 100644 core/assets-raw/sprites/blocks/production/silicon-arc-furnace.png create mode 100644 core/assets-raw/sprites/blocks/props/redweed1.png create mode 100644 core/assets-raw/sprites/items/item-beryllium.png create mode 100644 core/assets-raw/sprites/items/item-fissile-matter.png create mode 100644 core/assets-raw/sprites/items/liquid-neoplasm.png create mode 100644 core/assets/sprites/caustics.png create mode 100644 core/assets/sprites/distortAlpha.png create mode 100644 core/assets/sprites/rays.png create mode 100644 core/src/mindustry/maps/planet/ErekirPlanetGenerator.java create mode 100644 core/src/mindustry/maps/planet/TantrosPlanetGenerator.java rename core/src/mindustry/world/blocks/environment/{Bush.java => SeaBush.java} (95%) rename core/src/mindustry/world/blocks/environment/{WavingProp.java => Seaweed.java} (93%) rename core/src/mindustry/world/blocks/environment/{StaticClusterWall.java => StaticCoralWall.java} (85%) diff --git a/core/assets-raw/sprites/blocks/attack/nuclear-warhead.png b/core/assets-raw/sprites/blocks/attack/nuclear-warhead.png new file mode 100644 index 0000000000000000000000000000000000000000..6963fe4a5265666b8ff0d3cce4ac9f4e02e8290d GIT binary patch literal 1158 zcmV;11bO?3P)Px(KuJVFRCt`tT0L(QK@c6IAY2^{QYerdMV2md38J7u&`{IR(a=yv`3d<6C>2UW zlOI4$1ENV0h0?;2Wf3U_kVNEIoU^eWzm|)qmXbbpG+vmnHHy;e&#k0G5G!ir^xEN5EbptXVtc0zEoC zhN^ppzB@TRhR3}}r0 zS@nc#f0UAs+cg7`k`HK0gvBpbw)NQL?8<+19gHq#d~r=&#r4>CJ;Y^-eN`Fx$(~CYxDG3eaD#uQ>|vBG0waiXhD~ zq5{O^F^3eW`J!|gl-g@@j7#?d82Q-o?BWmlu6yq^X%~7;_$loP6yelv@`U)>N65Xy zS~KvfzMAy3IlS3L4;7&~WGqDBk}4QNrfItI``Yv596+U}QkY%zMC~-gp@|am7|2y1 zM+7NKM9_fa;CemIp)C<8kOJghXlURq0>>dKKn{6oC7_@YL3(VCL2+4YPF%TPJw<*n z=!-T_*y@lHWx92!o(u!8de&G5n+?b3qvT$oswdF>tN+S5B5*w-)f1|2`YsZyJwS)R z_045lRxRs+3s3Dv3~%Xw6EB2CRYzC5hIew0MB02m#Fv zm~)|gVMDgJ2p#?(kbL#jgdq>dICq3>Iu2aBvmy+?gPAgf(9Ps z0R;JgRS+RJ(JHAI5+y`#QUq?8r9_YxONlc=Hz9&_j%kXZsT5PC#M%@=JHZAKv}JNx zg_0!&6eWd{+&+W*Kp3)1WphL*DV6mg4^UVvtr4N5SlWv`fI+#uM1+!Zc~9~H2KNG7 z0N=jicZmR31gSAk*-HMm1SS_FTp(PI5fcHk(fm&-%x;D>B4C8$XKj%OFuoeg=?U64 zmgE5pCP57G#E6~#QYSvHtu=W7r^``~Ks|f{INlCh2JA&1z-b7?z{>D6Lty{ljcbhm Y0I>t&S+!NC*#H0l07*qoM6N<$f)_&tSO5S3 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/drills/beam-drill-top.png b/core/assets-raw/sprites/blocks/drills/beam-drill-top.png new file mode 100644 index 0000000000000000000000000000000000000000..fe1557da79afa89da5ace15e65750db759f03469 GIT binary patch literal 451 zcmV;!0X+VRP)Px$eMv+?RCt{2n#&EsFbsxM#1ag_4shWL8zDA=D;L;-AsC~aB2`uroTh%%@pnWh zvj5mg>^cO;aU91n!}z(5HUA%|43S{!{II{Fd^00JYUeQ`m=K^8_WwlKEN>1kwK)%2 zy#OV;PJyluL9FxUXgv=c>!c#Y^er$YmmXaRP&ymT3-Iq?G%Wz;Rxm99hVBK}QZ9af zzR4dZm(!u?)khWq9L_HRi2z!iPt^#ErvTRZ^X`RS^YJ~-wkMJ+kk}4E=x~iwHDaYG zRfjABLUo1#4Ses|XO%j?fxJ zQ1cLy!Ud2vfD-X?SOek>5e;-ZFahxa3hT_-VKccgcSy>F09}vCwT#JzVEh_X(-ESi t^^RYC3Piddmyh_kZ1C5f<2a5}!w=E0vNX|;?Kl7c002ovPDHLkV1nE=xtIU| literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/drills/beam-drill.png b/core/assets-raw/sprites/blocks/drills/beam-drill.png new file mode 100644 index 0000000000000000000000000000000000000000..f834ba74d815800891a6b1051ac2d2072bc3cf96 GIT binary patch literal 1245 zcmV<31S0#1P)Px(mq|oHRCt{2TP<%JK@c5VksNFlIFdnt6_8p6QBjdmRdm4WZwQP63km`P`WyNq z42-I%z$hpxIJpNR1A~)lRh4m#ToCPfZf|CG?qlzg$dAPF?#<47*{|ETY5n>7dH3e+ zF<{I(W6&bl&e^g&aq4J;iqj4s9^vn=f9eK(B<6w?t8A`q0DvMQ)J0wsvrMjS^T8IO zXoEh;YhoA8=?MQ4K0Lw*&fxyyqnL=@TQJt$IQbk!OEHcX=jVfc+Z(=ZxZsOsoiRNJ z%=)9$7q{zUSg+ztMT7M!hG}=mmQOZ|;>oaL+uWA-G<}&Njs!p#7^|o-EZHk}42v=WuzVTVY&6u>#~Fj}!9^ z+(s25kOCATZ{Sk|Dt1{BQUU~V2w!@_MgyUD+GlrIK1ASR&N^fD-17eC_e`8bfFKT& zFQu6mAiYG^A%aBSz$F6agyXdV(&VWJFa~#10MLox6I7eraGxD4U|m^{F~*HAs7YVtUyi#)(y zEZ0y5PzV6PztvG9_#kgU#pdP*?Zl`O03iFWkR(8e;1jqF&E)7pN`P5^B<`;z5vq9g z)ndJh3z468hnaHnZ7{D0%MTMiTTh^dgNr;>FLfTkJ&b{?*3dM9nOl&;A;@Ubu#VT2fSnvG{^Gl zjnHewL4c+cXc`9rnogi;90X`Ofu?Z~py>pfhEsq#PI-Jmb4Vi!@RG?JxI|zDcn#zY zBoRmfFnP_<@^gjeenQ)Jg|y^@I3yjVx)E&Wq75gB5Nzl9tued4ZJ5*vtu-%MW4X;y zN~|VC$ZO4u=4et7hq=iEJROi$bth1RqSpLmv*7J<7bNlqb%;>4HLntYn?b2#ai7B> zk2SAd#+?F~qh;Fwp~#zF;zI-zQ*xyZjA5cV(r;Z|-|TSr#`goL0E4@!NFJjq<3x&W z-%p?{Gd!>1`vIA&vKX9tloi&*ejtxEFIr>C7fN#!AU!8&Cdaau#=!P93*jk zz86%Hll>pEtN^ZIP`3z0$y4Q61X2L)j;<~d%8=*k84>;iWi#0Qz~$+W00000NkvXX Hu0mjfHt9qJ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/beryl-wall1.png b/core/assets-raw/sprites/blocks/environment/beryl-wall1.png new file mode 100644 index 0000000000000000000000000000000000000000..417efb30250cc778e3759b39ca523e81ea0163b4 GIT binary patch literal 518 zcmV+h0{Q)kP)Px$z)3_wR9J<*mqBjAFc3vQ5nXqI5z3|qfF1y(iaTW0Gxi$YZ~&V22vHQX=o*Q1 zflMd%j5Br+Ut*Dn8Nd9oCzDxKRXvD|F-VoQHaotEB}-jACq4j}vUrYI08Qf9e^S8a zUDIG$mg)evK)YYuu2-L@qmKzw;J(5|oCqEY zz+75nb@m$0;WT(62g14GAnL<-Gm37))!Dnj968Ae3L;$tj03br*4oesM)kT!@$m)V zT0)vbDv49n0b>k|F+(R97XaY${t5um4w?)=K>`Q{BnLu0kg%iH9UziMGPa&VNwg3F zz*vw5!nxp-^)}3cARt-@aURHm@Z@(@E}z&5X^=GQJBUHz#Q9Jx0UbuhHd4yRh@We8 zBGQy&3WTZ;jLnEsAlP}}-ip2ACw-b}6&r3J0uY0E7=Q%v2Rd005(?AUX8-^I07*qo IM6N<$f(@|SLI3~& literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/beryl-wall2.png b/core/assets-raw/sprites/blocks/environment/beryl-wall2.png new file mode 100644 index 0000000000000000000000000000000000000000..417efb30250cc778e3759b39ca523e81ea0163b4 GIT binary patch literal 518 zcmV+h0{Q)kP)Px$z)3_wR9J<*mqBjAFc3vQ5nXqI5z3|qfF1y(iaTW0Gxi$YZ~&V22vHQX=o*Q1 zflMd%j5Br+Ut*Dn8Nd9oCzDxKRXvD|F-VoQHaotEB}-jACq4j}vUrYI08Qf9e^S8a zUDIG$mg)evK)YYuu2-L@qmKzw;J(5|oCqEY zz+75nb@m$0;WT(62g14GAnL<-Gm37))!Dnj968Ae3L;$tj03br*4oesM)kT!@$m)V zT0)vbDv49n0b>k|F+(R97XaY${t5um4w?)=K>`Q{BnLu0kg%iH9UziMGPa&VNwg3F zz*vw5!nxp-^)}3cARt-@aURHm@Z@(@E}z&5X^=GQJBUHz#Q9Jx0UbuhHd4yRh@We8 zBGQy&3WTZ;jLnEsAlP}}-ip2ACw-b}6&r3J0uY0E7=Q%v2Rd005(?AUX8-^I07*qo IM6N<$f(@|SLI3~& literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/bluemat1.png b/core/assets-raw/sprites/blocks/environment/bluemat1.png new file mode 100644 index 0000000000000000000000000000000000000000..958ddac3eb3ab8012bbf869ed6ae49a247354dfe GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}t36#DLn2z= zPPOK1P!Mo&f6S?&VbePI`iFn)8#a94iVFO2UsY$ui75h~?`@iF@%Hw|1i1JO9cv_ n^np5lhOxID5RhQnFH*rMDsO1hGW8%U(Af;0u6{1-oD!MG5|rY6w^&NV)N9_pCSnWENNA%65oc<!}Mp_e4EyMHWc`9=~p4E;P=&nTf{xuA6)a@%aHhJ-Iu%{(hb)d)b(r37E~Vd zt~{8_FjX?fw1G!wf{zAg5OZLqW2%CYeg~V$hYb;OthT4WiYr8K*A%RD>RK|vCnK=R d*vota^N%UvKKs_`&j5Ol!PC{xWt~$(69An>Yt{e& literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/bluemat3.png b/core/assets-raw/sprites/blocks/environment/bluemat3.png new file mode 100644 index 0000000000000000000000000000000000000000..b10b1b18bdb0dc0574490375b3b338dc88b4bc4b GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}J)SO(ArY;~ zCgvPJ&Koo|WGd*&mmXNb>?UjQsv(fQ$133p<6=IE(gO<$7`QEG9cfwe;ne=B?>)cx z6jC(JwjQx)Nf7Da^qiPtY1TgBEklv6+EJc4d<)v19${FM*${EM@TlRYI;WQmhZ(PU zJTy7UxwpLI3$eXGL(--h8$94(jEd^uW80&_#t>+x?4lq0dNa^n44$rjF6*2U FngE`zNrM0Y literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/carbon-wall-large.png b/core/assets-raw/sprites/blocks/environment/carbon-wall-large.png new file mode 100644 index 0000000000000000000000000000000000000000..68d0826a9a4be2284c6183eeb133caece2695cf3 GIT binary patch literal 1326 zcmV+}1=0G6P)oBD5xl|-RM$Ry7003rXnufxKI!`3d$))Vwz+!U)2_RAhextGReI& z{a?GdzWF#fKA8}gS67qMv-6dTHH448cz${wZEkITJz5Rc#_OAt@y7UD?W&ouw!O1A zd3|{ut*QxA1K56R!m2zKz6}6v!e2fW?r!g<>r+F=B252b0B942G^EAZe7P1OX4t$4 zSx@rxZFP+q13*k*!RkUlLmKjRRFRylwykAhjVxbq4FGLIWwBO6L-6WShw%!`Ync!l z0Ad1Ui_z3yL0uia%w+&*6Qadva9N3Z7SaP$Q#c z0N4*oJ&kL@wjmz(tknzaXOs<)Q_u_ITMRLPbrF~4GN(n^0MMr(2s4lhI{Bj|^-yg3nF20-f+AY9=7-u|9E>;^-uIL0iD z$-Ex%&}G2(?lw6t>^y=k^B4e#(-9$adg(I2+xx9Y0MCFP@la`=IS7s5dW)t3h+$WI zAjiU3&pMUn;m-|#p2h*O9*pbA)~y&2y$C|}hmqz90GiI4)wI4MYqE7K21L7G6%Qo? zAZu2`ydIeEnTxp0glzY-JWJUC@EWx+2T?tc;}HqT#6y(l@#_Wvf_h9~zJ;gK!~Mhe zPijI-JS^M*o`d`rh=2;1B_<%8#{z4x7I@;Rglk zxX)NdY5;|;^A>r|B8+3&D%fiRJ$OWQ7)Q9kea0d}1ERu$2-ol&#srE=c*QY60^=gG z9=vr0YHPB&t^rwLKzsxy=u<;8MAQUEU>Z3D`OxYiTGM-{h-$-(0jJ51#-yMFs89DmX;X4r0ezkS{@Q2I2*BTJyaVXGu?h zCMw3bgur7O?1j7tEnc98M3mb)1!V(Tg)B5gP7ll{&*F)T;5EatUIP-==F3}4)VxEwlfpLUan|GC)JYWrLmwF~T$9*9=%@v#mM*si-07*qoM6N<$f&-{P>i_@% literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/carbon-wall1.png b/core/assets-raw/sprites/blocks/environment/carbon-wall1.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f7818d1733a6c779b8cd5cf5b3e76ed9c49c97 GIT binary patch literal 621 zcmV-z0+RiSP)+Ia1XKX@u%nY)efq{YH zfB?ua7{+EOy5%qc(t}Ms2w*q>1n@Zm20(_QV|)Ol7MmlmIsgP#F<4$#$MH~<8w;RtMH0(yD@ z0jv%H0dz;adHx1N3>|=c48!OEo8=&Y(*Ym=a|Fn87=Ve90&rOl0(cz&0w4>~0VxR; zpXDGx&;i&0x&uHV1ac_4I0&F8I&?s>13;F;05(T}(gZ$7kn8~Df(qGk7$7wiNOAzO zQV=gCPadiyjIjIRFH(IRa!ENE{hs10ea|XrVx|13&;|5Xd(m@CJ)d z@d1$D-$;%i%K;z&G6;mp0U&)aN099RO2M};-xz-X`ON?TR5eo-Bg>xs00000NkvXX Hu0mjfdG**B literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/carbon-wall2.png b/core/assets-raw/sprites/blocks/environment/carbon-wall2.png new file mode 100644 index 0000000000000000000000000000000000000000..984fb0220278486b85cc8cb0d5137944d5fa6a93 GIT binary patch literal 569 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFfn+#IEGX(CSSW?_H+Hh_16<# zzqzv@J;$m1jE<7p)emn^o44JsuQTT0;4-)%-5|@bsbql+V>tsy!N(%Qnm->Vu2XD$ z#1NpNVEyRf-*y*Ej%9r^#}`{LuuPC;WL9W)l(6kRpyS4NeNf84kxbH_(po(o49PwcDz{D+rIURI!p zVa1&TVnG(p3^%_koOWc0pLXOq!-S^>4evPC@Eu6AdVOG)BXH?2LuruU~2PpaSW-L z^Y*rF-faf~whNvUjJ7_!WnPdsQTm69oy#nlL%sPEqE%`ec9_jE+k4ri&1u4wPwuxO zKkfC};F9>@r$x-VmmEMtu>q}$@ZAkze}4Y^S^8pc|NMQXzpHb$eejmZt_okRn6c@F z_l!$_n#G(i#2lP%u>2?c+SUiPZ<#hlUiu@(d0^sRQ+uUH&TpBbK7ac0=i9GW?{+1r zzBXX|_j2A}{r>a+O@DvbY`8Y|zp_t5-0@z!t6#2h9`IRytp0wL(&HA7@BrQ8ywcXM ze@oe?$4*e?(d=6B_T|5CTW{~k<7kuGof0@hk>x5kSnTbY`Iin{YM2vb&9ZwRw?$r^ z%gv_s@82zWdi&sAzlOZe&m&fUG+ln+-8&{DQ@iF^--a`1*PF7MnKE9>_%LH*^ntMD zhtik=HveqDzTD3Ei>+zyBcXuZKfU*_ex|hH=j{WQXZP>g9ap1v&eAUWv$B~1qZgCG zwKbQFcc!Qpy!yCxw*1CshADGadOI7qw>@*u$q>Ae{+9K66o2!dx*uEJELYzsVK|q0 zvY5#{zJ8g-Z)LL$95TVXw%2=_$JZ^%tUJP|cHqL_pAYv61&dE~o`1gRuKl!i3sz>m zVbqzZ%d)a-=Ia>68@Kk=&-Y!=I8EZ#-{|DC6JGx3Hxq2|)>*Ud*OCuvOaX^4Wll)t zTC!72*ECi3g1OC z4H%_1m2qq`vv*=(TPxah=4`(}L*PFVdQ&MBb@0C&|#d;kCd literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/coralchunk1.png b/core/assets-raw/sprites/blocks/environment/coralchunk1.png new file mode 100644 index 0000000000000000000000000000000000000000..3596d0a5e6897e3d91a83994a973c5676dc872c0 GIT binary patch literal 442 zcmV;r0Y(0aP)Px$bV)=(R9J<@mN9O_FbqX$H$aAV>d+K9Lx3PaPS8_i$t{Y^=>d9*EIy1!&lwBD zv%MynWJokgk&z02AV4HpbzYSxcl>lG)Hu^XSZroXLIGD2>_Q+7Uz^LNn$7Lsy55rASvlGI_}HlUO?`SL14!egqw?%WbjEw z8Nfi#zA=}Ks@pI}%jIrOHUe75__$(wFogJYEElMCt{HI>BY?%_g?5iG7YP$Uia3z0 kcY!1>VyY_m4+s~L2W^421nZ%2$N&HU07*qoM6N<$f=bi40{{R3 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/glowblob1.png b/core/assets-raw/sprites/blocks/environment/glowblob1.png new file mode 100644 index 0000000000000000000000000000000000000000..4d72f6092ec12ef0c8c3a79c29e19299bb029bac GIT binary patch literal 581 zcmV-L0=oT)P)Px$|4BqaRCt{2nLSd&Fc5_ohC6ToO3K`VmKlyi!EuuaP!qeo#t|{D03G?v)A@!88G@)7!7PY%-sdHeyd^Vsc_ARJz=H!y=B7Q zeS7!x{x<*(!Tbccwz$z;Yduo~d>tU^q*hG25An~C*Z?n~xU3h*mR(f=NE3QXy4M7i z5R1c-6mVKYw1eWt00bHn4!;?Kt^+(Et%94Y0OA95WNN7nVJ#a#0NnT1V`r=dUNpZ T@K-IN00000NkvXXu0mjf$#el$ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-stone1.png b/core/assets-raw/sprites/blocks/environment/graphitic-stone1.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2fceed17962459450d3f475671e36bd704dc64 GIT binary patch literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFqV6|IEGX(CSSW?_ETR;?W#e* z49OHj=BW)GOE{Rt^~ELXe}C%L2wwS&VZzfB3{M1-WEw9sDlj{?9Wbyv?2xsQaY9_p zF9(Lz%o`*-&KpdS(PNl&_&Em;d%|WJwgO2uq2ufhpLWPJK4h4XRKuXspC{454;E7> zeZg>;QNdN==nn=Dxg~s(4L=kLYZ#WW$tGAZuy9DSFe#Y6U~2*j#xSU`2Q~AYC}ZGg z;9*Hjadym^AOW<7d1WJGmka~*i?${mhR%mf3Y8KIx|kgpQWQ5GR50`4k!I*@e&X1W z#mB&y((K4^nn8d;lI!pfndZ~qTNoVK6__VD zZ?J5NIqle>!rs7eLQsLHm_v11Gs8)~2F3}>4l{xrwlS|@b(1xaVp^;SCKwnT#jj0B S61)$J8wO8TKbLh*2~7ZS7l>m3 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-stone2.png b/core/assets-raw/sprites/blocks/environment/graphitic-stone2.png new file mode 100644 index 0000000000000000000000000000000000000000..6feafe5ef02455c317b2f552df07746e9abfec40 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ=bkQ(Ar*|t*Djd-)K^lwY7j6( zGR5#PLsKAoPuqbE4k*D8>g3=O)Y8~Jox5j$?N7I$t8N>a9i}NWPjL1qWO3zl*e=5c zW-vsya5p^Z;N+ZT$-vT4$l@!@z|2cyE)7Y&aD7#Nde8G_p1ajddnNYOY^ki_7jYqX$?*?}R&z_5>D zr88SdF#`wB4rYgaho5(tpTFO5r;}-g6q5o&5evs+YnIth6&y<04=|h%JRu>zU?y`1 ZD}#qyQ+Y@+a|O`L44$rjF6*2UngA<~T1fx^ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-stone3.png b/core/assets-raw/sprites/blocks/environment/graphitic-stone3.png new file mode 100644 index 0000000000000000000000000000000000000000..3a17479674fa93cf4d0ae638ae0cc28f6b6d8196 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ^PVn_Ar*|t*Djd-)K^lwY7j6( zGR5#PLsKAoPuqbE4luzpPe5RzNaBM>PnjO)$M3tiwv3^j;Y3jiLlMVb8OAb(6HX-z zLW|p#3#=GeUOeR3!^glF)qZFNGe;Z4+RKcN>TC^Hg18UJGB7c}W0-KB!}8JD&*lo-gLoITFmOC5VmXmC zL1rss8_<{(!6J_ao#mnjUNHzTSTeO`au!%M#3cZ=GSt1SDQmF2SqAhPgQu&X%Q~lo FCIH;HR&xLV literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-stone4.png b/core/assets-raw/sprites/blocks/environment/graphitic-stone4.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf9a8981e80d41dc096abc3a9ade3e1e92e3049 GIT binary patch literal 340 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 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/pur-bush-bot.png b/core/assets-raw/sprites/blocks/environment/pur-bush-bot.png new file mode 100644 index 0000000000000000000000000000000000000000..5704eb7e9d2e0c497985b37bea76ff27dd516eea GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}?Vc`D5>2SwB%abq(kw22WQ%mvv4FO#pd5 BODF&U literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/pur-bush.png b/core/assets-raw/sprites/blocks/environment/pur-bush.png new file mode 100644 index 0000000000000000000000000000000000000000..98b5fafb4b5954d6dcb61c577c2dba71a348dfb6 GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}yF6VSLn2y} z6C_v{CoExhtBMqvzw5ERQT@Xlez#o~40n@C+&A#F96izSicjHM(j-}jRR@nS^_Ve z4^PSyrV{rFLRv4TO@7Ld!*}R8N6xgMtBgBj98V;zvSPR?cqEF4x!~xLXDl%Z$3LD- zxvH%(tD}%*rAJ+T={pBX;L9e(qu0`d5#|rK+QkIzcB3o k8OFZsfXED{{UQ|%o@WfMs%l9t0y>(()78&qol`;+055G;X8-^I literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/redmat2.png b/core/assets-raw/sprites/blocks/environment/redmat2.png new file mode 100644 index 0000000000000000000000000000000000000000..e803431ea7748a0ab4451c230380ecc5583b6377 GIT binary patch literal 280 zcmV+z0q6dSP)Px#(n&-?R9J=WmOB!FAPhvK!yP<;rKLyl?35nBQ)uOkpCC!xn8q!UVILC6Hq$t+ z6sR`RoQNoCCJ%kbj^}yt0Vo-A^Q;gofYcbFTMbyuVMm}fe`9@N zklg*JykG`EWd>6XAOi~|6V?Q&0k6Cu0`SZWRRBweg93P%9%Z@($kwe&M0sA|xxpn9 eY82j#!T~mCdQ#dC^#ySN0000iikgISrM&eg439&?R5;KIGQJ`PK!_iH%r3C|Rp!RmcZf@@7f@v7O3dNn4G z%k8H&yCt|D3XN-g65wenxx!IX+;oRwv-Aa)Yg_+n*D)BcQ_f5;bZ!AUi^0>?&t;uc GLK6UN^+|RB literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/redweed2.png b/core/assets-raw/sprites/blocks/environment/redweed2.png new file mode 100644 index 0000000000000000000000000000000000000000..30243ffacdbcb897b75c594f1daee0f2b788e1af GIT binary patch literal 307 zcmV-30nGl1P)Px#?MXyIRA_n@CLw^Mm?EgH2eSn002ovPDHLk FV1ir!he-ec literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/redweed3.png b/core/assets-raw/sprites/blocks/environment/redweed3.png new file mode 100644 index 0000000000000000000000000000000000000000..a8bec509eef91b3de0b03d0a407ec48861a0f337 GIT binary patch literal 417 zcmV;S0bc%zP)Px$TS-JgRA_o zOCkcjn_*Dk6G_PiIvw9E)3`3vxYmvhd{~0xMB?Yu&#!o0OKi+R6O>A%6=o4H&_%SZ zVZ|h3Z7XTKlLZUUTfs+_LgX>olPRCg`Z`#EhEKT z5s3^#;??0&bl5G!n+ru`YqwIvT!JDMVM|EvEb33tGL5@;gof|ypEy72J;IX65eU$K zOSQwTNj}EKXS`Jca3I2v02+(1B!Gq@ObNh2Yq6m2iuA-{R|6ncq}Dgp9&giH)kR9Q z6+oJima`EsFYG}AFp7AQ04mH#4GEyING%DV(2Ud+=yW=rPKUui%_g6p|K$bA00000 LNkvXXu0mjffKjx= literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/regolith-wall-large.png b/core/assets-raw/sprites/blocks/environment/regolith-wall-large.png new file mode 100644 index 0000000000000000000000000000000000000000..08d0acbef88e775ab080d379cf552f83a5a887d8 GIT binary patch literal 1017 zcmVPx&vq?ljRCt`_TRUzWF%TUK26O;*u2iT{uR8>8QoGBYl3Vx&M((iv7AjP!(*aaD zMM8xd&7Z@S;C+ArOS>e7kMk$>^!w-cPxy!RW(9M@qW*B$pYA2c-LSx49QLPK5wRGD zGx=aHBrE^`I1=W7iwRI9%s~sD>ks2_hV5>7^#Vmgi5B=-Run1oP7#%EoS?-VI7gYG zG4&i%Xy6S20Bt^@Md*8&97zB`I|*5f=}pSB^stbC{el&>@V)H0)nBk0P-7g<&7sn= zliVV>u^IltL_onkN$3R^0U3yr(90LN2*AEzy;)uUvZ0ZX6^2D8C;o6yNb z+Iq9PnJ-%tOd7D=Ew6T85}tb&^&ejC@)D#H5D9^r(Bp9K8s9y0iv&dDKLFhL20YiJ zkkCB})Q&PrLe$Ax<_-}M-8pI@y){8YI0}5cAFn=_-PLyM_3h|X~dM+Pb)WI)sa z&T~`Wmvs5#{iq81`u0MO*T(h8H$o<$IY$c-6bTk&lb{m7X@Mm|6e6(77hn>4J4FiS zYLJ2_Oj_+1lfd;BteK>Sr(Zw5eX4I&kQS|Fd)wWT6pGUjZLCD9RZCLy0Gu*oa4K%` z2h><@kscFqYXE>x^*OD;i!O_cXi-a7sCy>Jk;O%ch!(Y!>2!walIv4d`)_JD87NCyLygj@KiS?Mw!`zSwl)Qf&&SEI))!{8< zWcYzl7{su|@!ln`lq5+TkwO4~y|}q&?N1Sr76q&ev*z$UTJDsLX#{v;v$w0<^R&oi z0#r|rL)0&nDAVI~sL2GV&?SYl(g%<#JuFZmbjm(qvk7RqJAkd+#lYId5n}Zf+;cMl zmMTpGM}l;ApbhZWng0zd=94#Fo%X=xQaE-W7H`2^LfLh35Z@cKQ-7U=}tf%t} zKwr8@JszK`HN^oFBFRGa88!LBJ|HV=t2M*g=H{}}Nc3P$z}xyBhhua2vYHft|5U0u z6VwD~IWelA_qv45L97Nd5)x1UuI0eRGS*!Uwl*KVY6xhyjRQ$N6~30YlRPyc}% zgMqcclm}?H#(VwdXo}x5xvN1e)T902N|OgW)X*iVM_Y6YCciB{1vF<`*AHKkfC38< nUz&gdiHKPcAYoPnP+IT@TEThj8OaJK00000NkvXXu0mjfLafi$ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/regolith-wall1.png b/core/assets-raw/sprites/blocks/environment/regolith-wall1.png new file mode 100644 index 0000000000000000000000000000000000000000..97df02084474cf31ab0650d7de26f576fed2b5cd GIT binary patch literal 404 zcmV;F0c-w=P)Px$PDw;TR9J<@mOT=JFc5_!;|vGz0u~hX+`-N(cqhFDH*mZ|`VLAuup``xa^xe2VfDl4#2~n7ftssifi?tvo0CpDE z(%yZbq!x8kvOW%F3F#&eU`}B7JqLvJK&%vqH~MZ&t`C|J4VJr45I{*yW+Hc5h9Ht2 z=)2Ji8iL?>!~Hf|0#rHKNdlm=0fksJ133^ZfO|VE2I2aI1fVA2y&Xu9Sg&(3;dOxt zUNvVTlU>a5AhG9d!uDmBEQ5`=tVq@)(dDh*-F z%Rs8OsZ5|{SbPwnUVs5O?nfXX4}1`^$L%f!GAVhIj$tjj+O!vc3EO0000Px$M@d9MR9J<@ma!3oFbqW%jynd(0u&VV%#qf@s1AX0=s8TCE(6Qx_eC5E760zma;X z0RYg-fmTlZa_lTTm#Vlc0R_PU9)TT2izO==X0>cNA`|{2I3bthOln99DoFthLSo3GS1|^$%v<&jQEV1y<#wH6R{NWx99%RFB{5DNDLvMnS~=(k z{9U4bfPzQ~N(IqAKqcdppddm+iafw=L=q*q?{?|-hO4C|Bi}{nX$Jx7k_)ZVOf3n zCMLIb<^wv8OVhSr;1dwknd%h8snEc{!~rHQFjV%mF)}D{1!nbSH|ki~vhR7ljX92E y?&YluuDsbLy*~W_ccR>(K#sq>fA+9078HNvCUcaVhlLsFBnD4cKbLh*2~7Z;B}T#k literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/regolith2.png b/core/assets-raw/sprites/blocks/environment/regolith2.png new file mode 100644 index 0000000000000000000000000000000000000000..b0ec788c70270cf6735120a76053a3e795fceed3 GIT binary patch literal 298 zcmV+_0oDGAP)Px#N59HDDwn@JD>(1n{_H6+jxuYq$Y=_d-(-AP_fzHfby31h6Jc zIhwzPj-dteMgooy3a+W$_W)Os;uxYKPl##{pdmE`+l1chSu_PGM5zkmF+^R-6`>x( zE5fpXQjU9`=0((6nPCqSsvHbpsY1$e3dqNW1rbPsL}(!U6`)_c1X2BrJl_3;5dlUZ wic`=NQ60lxh{rw91HmpLFN7H2g`g_@0p*oq+f4E3M*si-07*qoM6N<$f*G54`v3p{ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/regolith3.png b/core/assets-raw/sprites/blocks/environment/regolith3.png new file mode 100644 index 0000000000000000000000000000000000000000..51ca3625bed176fe297e58b560e4e884b90e57e4 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ydl>XLn2z= zPCLzcK!K-itw_w#-Nhw4)?Jp}v%72gw*Z!v9z0JJugs}o`P)-(a=TP+yJJL`baly z8bykk4{>h$uC`>6;eGEN3}OfVGnm*dNV3~u&Lky}>OWO`1^=4$jh8N5I#eS%k>5{b p$!bPTfq)hnfzq{xQ&{H+@cZx>-IUg|lmfb&!PC{xWt~$(695%ISM&e? literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-crater1.png b/core/assets-raw/sprites/blocks/environment/rhyolite-crater1.png new file mode 100644 index 0000000000000000000000000000000000000000..74be6964eb497a4871398615c47de16a95a81c21 GIT binary patch literal 759 zcmVEX>4Tx04R}tkv&MmKpe$iQ$;P64(%W!lA$_T5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|DYS_3;J6>}?mh0_0YbgZG^=YI&~)2O zCE{WxyDIj)q7MOt5XP{~EMrcRlJFc~_we!cF2=LG&;2?2)ttoupGZ8*4AUmwAfDc| z4bJ<-5muB{;&b9LlP*a7$aTf#H_nA73p_Jorc?985n{2>!Ab|SqNx#25l2-`r+gvf zvdVdjvsSLM);;+PgE@U=nd>x%kia6AAVGwJDoQBBMvPXS6bmWZk9+tBn|_I03b{&P z92thv3l_Hp_Eq^Yaq4RCM> zj20++-Q(T8oxS~grq$mMIgE0U{=oIt0003lNklkZGh%ehlP=0$_D43i=y zyF3dYvMnI9v&iiE-Vji-muBTA3^943COdqm@UBw#hp;5jn3c~;Z002ovPDHLkV1kp)TABa= literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-crater2.png b/core/assets-raw/sprites/blocks/environment/rhyolite-crater2.png new file mode 100644 index 0000000000000000000000000000000000000000..de82ae33944dfbcc0791d912a59ee6e93c188845 GIT binary patch literal 728 zcmV;}0w?{6P)EX>4Tx04R}tkv&MmKpe$iQ$;P64(%W!lA$_T5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|DYS_3;J6>}?mh0_0YbgZG^=YI&~)2O zCE{WxyDIj)q7MOt5XP{~EMrcRlJFc~_we!cF2=LG&;2?2)ttoupGZ8*4AUmwAfDc| z4bJ<-5muB{;&b9LlP*a7$aTf#H_nA73p_Jorc?985n{2>!Ab|SqNx#25l2-`r+gvf zvdVdjvsSLM);;+PgE@U=nd>x%kia6AAVGwJDoQBBMvPXS6bmWZk9+tBn|_I03b{&P z92thv3l_Hp_Eq^Yaq4RCM> zj20++-Q(T8oxS~grq$mMIgE0U{=oIt0003GNkl7J%~_xwwv4s5ic?_f3r zy8$VNzFRJdVG&{Sfx?IZ(TF)Rm383rfa&lu=n};P2kJ0V>8$nnKzYHEmhuBvUUey=$fx-L0000< KMNUMnLSTY&UsLD+ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-crater3.png b/core/assets-raw/sprites/blocks/environment/rhyolite-crater3.png new file mode 100644 index 0000000000000000000000000000000000000000..f7b2b466b7084f8e1946d164d0c8973d6aa3320a GIT binary patch literal 750 zcmVEX>4Tx04R}tkv&MmKpe$iQ$;P64(%W!lA$_T5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|DYS_3;J6>}?mh0_0YbgZG^=YI&~)2O zCE{WxyDIj)q7MOt5XP{~EMrcRlJFc~_we!cF2=LG&;2?2)ttoupGZ8*4AUmwAfDc| z4bJ<-5muB{;&b9LlP*a7$aTf#H_nA73p_Jorc?985n{2>!Ab|SqNx#25l2-`r+gvf zvdVdjvsSLM);;+PgE@U=nd>x%kia6AAVGwJDoQBBMvPXS6bmWZk9+tBn|_I03b{&P z92thv3l_Hp_Eq^Yaq4RCM> zj20++-Q(T8oxS~grq$mMIgE0U{=oIt0003cNkl0c7IyuG(JOYm44P;fjwHsR z-OD{|Ff;-#&d{jOO{K`d0KhE8hyw(S6ebA}NEEXq05IzU5Thmr5=yv8{t(yhTC>@2 zch)rjdsj+X(^%8=!w8yw7GyDri=V+J7O zJ)@@r(7YcH);&eW1jt--NbfILlo0`d3qfH>r7{E1CAHsDjPi9YtEmNmOrlA!0r`YN z#t%S0$y}K-NHIcvJ_&SZ%%%u@iSN5mUlIT8GEqY`(es!rICP1!fx3Fhqyog-jFEw? gDDkF-WXod5s; literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-wall-large.png b/core/assets-raw/sprites/blocks/environment/rhyolite-wall-large.png new file mode 100644 index 0000000000000000000000000000000000000000..d8c6164d73556869b9c25faa103057f640e04cd5 GIT binary patch literal 1085 zcmV-D1j74?P)Px&_en%SRCt`_Tf1)CFciIU0~GNlYY9-GgB^ItI1qEA@<^ zMja?anL}dyF@})99svMpHX&uw=TJG60DyE7axJDbDc4-1BO$a4TKJPMrO&DMf|LLs zP1_~AO3hAEi=g`Euoo%<9L`BXDVPYzfmjks*#Z**p)FV}>$kt$kVweohFK%XA)Fu; z9Qp87NJH9US@*`vEeR?KSk0@G-RCAxwZ+;Gt8`fj5($WLfzqU#wkzu2En~9;#QJ{# z=-GyFtVG)3 z)!&c=sq{-t zq9SGq0I-QZB^BYK-Qr@TD5WaIxX?D))D!;2x&@00T| zH%bLunY?K`))kei@H#Sb*nucF7((O6OQ*bCki>0776JhD$;~-)e~gH1UO>ArZ46(c z*Cy*s{?SEUN|8~=#X{7WEGGy zKmc938zPi0iV&@>pxV_0XtFd86banffkYg3JZH5bS&zph61ZKY#z?6MY2M2c3j1(v z7+L;B3(C;>V+?^}*`TI!oMPx=>DgZ=|Vh z0Jf0rdaq)8HLuhutfle`fM2@EdOSW8Bfq`WC2R_8HkczIvDEKU4qP;S&DmgT@zL5}dnK2O zGGm~s2UsN`SJl>1f1vt=2&F(32S~TZOa10(h~F}qv%zpum-d4zX+EJrjk+XtX^T$5 z;J3wxfMiVl{NY^^;GiMmT@&EI5itq^IE;z_ObY%1n@)nL$lvp(00000NkvXXu0mjf DKltr} literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-wall1.png b/core/assets-raw/sprites/blocks/environment/rhyolite-wall1.png new file mode 100644 index 0000000000000000000000000000000000000000..effb2bbad3c2e8333ea6f62b97de1723054c0e56 GIT binary patch literal 435 zcmV;k0ZjghP)Px$ZAnByR9J=WmpyL6Pz=XS=|H;$ZV*rhrYvkd06Pml?;+;b^|(*NQdD4Q<23+Op5&Zq_`gd{>CJfiqqa1!>J z2nF=cgWg}w0EVy#ahcG>0i3&_Y`S4qSb}rU=yOvBsD*moa~*63iafiT1=Q%+PO%XH z7S0b#SwiI7Fr0EUpRq7E3V+$lQinJy=X?Uv(LA5Gf!WL{tqF zdFHwj4O-oXu|YLI+Bs?sOgV5Q2-7y?K&)_*Uk_pK0vu?n%+yuu--a>b+L@bunn@5h d{Wjzv{sB;U!4cWk%vt~d002ovPDHLkV1jkRzySaN literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-wall2.png b/core/assets-raw/sprites/blocks/environment/rhyolite-wall2.png new file mode 100644 index 0000000000000000000000000000000000000000..ed7119e655ca5602dce272f6670b2d01936234eb GIT binary patch literal 404 zcmV;F0c-w=P)Px$PDw;TR9J<*m%$B#FbqZAstX`CfQmCyRK54!p}Gfm#^8*A4NyjCFQiJ16Kp4q zZy;hn>~C8+y`Hx>Y*sfVyhPxDX)+byKoHLOznrffxucfZLW` zKP7{}AnXjJg1|-sxPOl!Vmkvv9%cY{#IP9k0HQLa5@85J5*%RL1tDvzf}9KXopr3; z35Nh78y2&Jv-;r*k~Il^qU4-a0Z=A^P_1JwgajlxfD7WY$Nl<$01JUZq`?6qyTF0~ zgzMh*6SP$!8$=Q{b42GGUcnMbTZ%GwiBbNEX>4Tx04R}tkv&MmKpe$iQ$;P64(%W!lA$_T5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|DYS_3;J6>}?mh0_0YbgZG^=YI&~)2O zCE{WxyDIj)q7MOt5XP{~EMrcRlJFc~_we!cF2=LG&;2?2)ttoupGZ8*4AUmwAfDc| z4bJ<-5muB{;&b9LlP*a7$aTf#H_nA73p_Jorc?985n{2>!Ab|SqNx#25l2-`r+gvf zvdVdjvsSLM);;+PgE@U=nd>x%kia6AAVGwJDoQBBMvPXS6bmWZk9+tBn|_I03b{&P z92thv3l_Hp_Eq^Yaq4RCM> zj20++-Q(T8oxS~grq$mMIgE0U{=oIt0002_Nklz?9Was61k7S!0QIwEE*BjXa#~Cfvdx0nVJB>C-GI5B9=jmK~@Pa7%dSQ z1OX5iDrthrco0HBW<$wHGmDbSSp&~)+pcn6D8&p oljTnZzp=Sb#W>^KK5*820K7MJtuTS>x&QzG07*qoM6N<$f*62800000 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite2.png b/core/assets-raw/sprites/blocks/environment/rhyolite2.png new file mode 100644 index 0000000000000000000000000000000000000000..63bb9820f5037513bb973d2b521fadf1e8c569a6 GIT binary patch literal 650 zcmV;50(Jd~P)EX>4Tx04R}tkv&MmKpe$iQ$;P64(%W!lA$_T5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|DYS_3;J6>}?mh0_0YbgZG^=YI&~)2O zCE{WxyDIj)q7MOt5XP{~EMrcRlJFc~_we!cF2=LG&;2?2)ttoupGZ8*4AUmwAfDc| z4bJ<-5muB{;&b9LlP*a7$aTf#H_nA73p_Jorc?985n{2>!Ab|SqNx#25l2-`r+gvf zvdVdjvsSLM);;+PgE@U=nd>x%kia6AAVGwJDoQBBMvPXS6bmWZk9+tBn|_I03b{&P z92thv3l_Hp_Eq^Yaq4RCM> zj20++-Q(T8oxS~grq$mMIgE0U{=oIt0002NNkl; zIwG5y~JyoE9e)UHuNSRTJIn2l=v+)CpVer)W z_r{L~>VOOne3n1}Rt{uL&}3n!h=~atd>EX>4Tx04R}tkv&MmKpe$iQ$;P64(%W!lA$_T5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|DYS_3;J6>}?mh0_0YbgZG^=YI&~)2O zCE{WxyDIj)q7MOt5XP{~EMrcRlJFc~_we!cF2=LG&;2?2)ttoupGZ8*4AUmwAfDc| z4bJ<-5muB{;&b9LlP*a7$aTf#H_nA73p_Jorc?985n{2>!Ab|SqNx#25l2-`r+gvf zvdVdjvsSLM);;+PgE@U=nd>x%kia6AAVGwJDoQBBMvPXS6bmWZk9+tBn|_I03b{&P z92thv3l_Hp_Eq^Yaq4RCM> zj20++-Q(T8oxS~grq$mMIgE0U{=oIt0002yNklDJTa#5qA`Hm{5wBBheS#(=3}MT!#H{`mb+a$P>}OTBq#C2s2mM(CPG3eREo+kTB; z7z9*j81&pAr4Ddl#scJwVwFgM7URwbBL7PF1AYP5~nC6CnOdL}~0aT%uGX6YQPs8q<{5VC5<5WQfMJhaueqic#G5ibZSF zQMbv%0SzJ)6!2|0S&9Au$hLv0()konrt?K(5>cjEqAXjv2kC#C&J?AXc7V_h#uqPy VR^bq=!rA};002ovPDHLkV1m#CKXd>9 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/wall-beryllium1.png b/core/assets-raw/sprites/blocks/environment/wall-beryllium1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1dcfcf4e2763dbe4a92346919dd2c1d53c91ac4 GIT binary patch literal 346 zcmV-g0j2(lP)Px$6iGxuR9J=Wm9Y)NKnz6{ONWlU~sTqJeL$F0!)(BN3%lO;h(M3?? zH=q=L?<}8BWXq4UTdQzCcGLX-a=by#DgqjwNi-Mm;LqVLA|kKr)_K^SrF=7aA0|h*YE`GY7p#%#L1rS&lk0em+4A26VQ+d;lzEc7fxQ1yU zl1gtu1V=^tv74A{E0T18En?yNHwy*uhRr)Y+6Aanv;dQA5h024B4T4_$LnG<0eku; ziwLdUEY&MZJuJ*^KrPmxo?~?CY??EPCPSE=va*6p0@(u;!LqI$DsVO#R444f5_mPP s>5^eun$i%qhKmGmf$hQ?@GXCl4|GSi=NS-&HUIzs07*qoM6N<$f_FcL8UO$Q literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/wall-beryllium2.png b/core/assets-raw/sprites/blocks/environment/wall-beryllium2.png new file mode 100644 index 0000000000000000000000000000000000000000..851a6b5b06d88eb67efde28e827c0c65b7398cd4 GIT binary patch literal 294 zcmV+>0oneEP)Px#;7LS5R9J=Wm9Y)NFc3vQtil$|Lyg1&DOdoBngLR02)3Zj8lgJLO784`_C-R% zuS%1=@AJ0Px#;z>k7R9J=WmCX%bV1OW(cmpNOi; zcY;XCdvrElh|XBP)upphomSBm;h>*LVXQ uS@$*OKg&SOMAbITnKPx%hek%G$Zd=nZm2V{spviSV;L{Z*-zQ0}J8;9c_M#B{TS?1NMA7+^11EZ1fhX8=FNSIFNi*+AN zF#!Oa&KHP@7)1pS)Jcqlt<4m_2soWD@ci^h-mo=NNCj}Q%xg6XF|oZ!-F>{iT;qc| z6;LSYc*<`$ZPnZhkeCK*u*|E-K&fkU=SuGlffArGHA;z)wykwtQUO}|LG4?LuhAwI z^?(pHeh?xalRfhc$`7)$0B36Cz-wZqVuFX`{^#cr6#3Nz#6f!{B4x@f0!j?gBMAV1 z)xcH&MuOKMB@m^;QbRl(_f5X~3`q*Pa`#=9ecLJ0{~1Zc@ybLPmk6Q36m zfQ|p!R5$DphX`#?VVfXjex;qF#&a+8WGO&vJ&@}R_qE(CblKPcWA>IDm;x)9)L`5U9z-e3$bBoyxrws^P)boT&_51TZ>S`BKi0zE0g zq%3X;(bm}3g2$lpsjMcj8K>2kY5>MHLGJT3`jJYq)D@8GEcF&S0oIn}QXh1)ilSUl z*S37Sw|2rG7b=-xY2{dYkAy_*7&iS@RfV+zC~4!?m)bV7-wNM5Fy9Ehz}0ft0-Glw zPx$C`m*?R9J<@mpcxFFbswbLh2d1R;tvcQ`gQtMsLu|a4&WwBv#JAM5k1#v5oDJ z@NW%C{NZP*+V^XLNVmrcN~*>SeK#KqP+BBF-_6B5(G24R*UOoFXoc|PPYnPtjFb5w zC6DKRA=nEdfN0gkKcsMA_ih>KyIBPx$3Q0skR9J=0l`#&&FbqZADpJqDiiFgKsVg(b;09cVdv&jb#L5{um8mEM+p$gJ z@}&-qrRK^0{%vlT^8%6jp#x8~>A^J4+X8qC1@P=bdw)F9f)_*p09YXo``s6W#FQAU z)XZ5A{kVGe>*F%w#(iSz$TLTU>z^+Wf5 zQfd6rTu;X(J>u?l7{m*DtAr5=VrioQ0000{?Qg|&pI3C1Gba|955M^ZUaY;#E zz;=;Kk56%_!Sd)Ox+ho*=6CIByVt70W2o-_mi0@)x{vY#4Gb&_42&ELo>ww%l+&{Q T^na;5(2We9u6{1-oD!MmGUf&swGH^z%ly?bRti;v4=2`99tdcrbLj$bZH< z2Bk%9)^C1&yQBa471M+>4jOX5%UC@+D;;bY?zvnL5NCLKej<=u?}BAk4CKFWJo+Y zpI@c?g_3X}Munr|vj)jU0vvlqx$KGS={ID@W^~7Ao1-286oey{~*ehzS Yzu56%(RsZqK%X&qy85}Sb4q9e0Bi`|+-&XR5GP_eP7+C}y z7=VO=QqcnGnu7Z_M{Rf-v;x}xubs}6mAJS=&q4bL`|>uQTqoW|+y;wpwlQ!ptz{}< z(bi)8?!eus6zUtneKEwNmiyEOkBn*PG4opv-_y6M2ibdOmbM;*L4y0MG>`PeG`g94yCK(6a(V0A>(xRf+W-s2XO`l&nB_=nym}211(|jboFyt=akR{0KXM6 AWB>pF literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/yellowcoral.png b/core/assets-raw/sprites/blocks/environment/yellowcoral.png new file mode 100644 index 0000000000000000000000000000000000000000..2fa56e35b46252891fee7623d15ed127a0e90dad GIT binary patch literal 539 zcmV+$0_6RPP)Px$)k#D_RA_^WpvVp8KtP`*3@=dB-J?SYBYJol1a$JiyF4M1X>< z!L}BiXn;JVhROk5PXk>~gSLA}FV-E#Ao2J8v9o^VgH%q%E+Ni%1PYTiMT7x)$$a{i zRGWIK^@%vCvVJ;_&$qgR+W*H86Fc z-~@K6I28usR^+2n2BBc^cZSbXMb8gM@)KWm+ ziF%xVYXw67fGyE_fl4w96j~u+JoSuwp2{ibiUbS+BKnJd9@8(#GRbmlKldtKQ|C?f z^ZCtgyXe+K6Da!g7rXjdG*F=G&o@yy=jN2OipaHxH;LAP!ny*Nf{l%>z`V8;5-`&> zm8&8w&HyC`rmlgab_VFBnWfenKokPmZcOFs6uQ2&j?SQ@`Jg}FHnnG-0hSyPXBy^U zN()*#P*p*jQwombrUe)ZMD(OPU*udulBZmui1Zh7i=U-)g@U2iJc~dDt>Narsi~={ dsi~=nr(f_z=gA%Q)q(&3002ovPDHLkV1hc3_zeI6 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/payload/ballistic-silo.png b/core/assets-raw/sprites/blocks/payload/ballistic-silo.png new file mode 100644 index 0000000000000000000000000000000000000000..c70a9079eaa748821a681f08a81381f8db2e6509 GIT binary patch literal 2904 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 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/production/cell-synthesis-chamber-bottom.png b/core/assets-raw/sprites/blocks/production/cell-synthesis-chamber-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..8c363b7435e1b8574933a822e7ec311be4d95bf8 GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D$|-g>$?hE&XX zd(n`WL6PBrgM(bpkL#aK?08tsHLK)Z@qWRymks-~8Lly`VT@qjz?Q&!K&ru%VTcOI YWfUn+a literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/production/cell-synthesis-chamber-middle.png b/core/assets-raw/sprites/blocks/production/cell-synthesis-chamber-middle.png new file mode 100644 index 0000000000000000000000000000000000000000..da2dc2fea1777cd23d48b28587d4e884ec3ce150 GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D%zEj?WvLn`LH zy?t<1vw;9>z~>kL|8Kgxr@@0eDEHa1d7EE3y)c-bwrJUDCZJ9TD3}=*dm!-ju62Kl zv)`uPbzkRc>^kxGv9jN6@;lWo#+NeAzh(9(^mF>h6?zYPW=h}p{ms3Dn^B}&J}7xS1iBb9iWoDO<=Hatx+0)e=9+qY!xn*6+m@s` z7?DTpB?}J literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/production/cell-synthesis-chamber.png b/core/assets-raw/sprites/blocks/production/cell-synthesis-chamber.png new file mode 100644 index 0000000000000000000000000000000000000000..26f8399989b4afe09d7c407c7e56f5c4fe4861a8 GIT binary patch literal 2336 zcmV+*3E%dKP)G~+pQ2u+>)a{t3OFr6 zLmhL@ouHODe}Y;aO=nM87Vyd?s3XpIQKzHl>=n`iUbO@@#Q6?tbhMnk%C>;2gungc zr*HVzZ~u_uY&D;uhB)6rjY`K^b2*_bAS*!=SB(3w4E}Gt5 z!1p^mo8h?~Cuf}%!|l*6AWCp)hURw{@%;+VRCs>H$r)!e47lQ`0GCyGiQR>Kznkr% z&Q8SGRx>Ri zN>H%E1uMM#X%NB5&cJ=AyS;CPJJs73Fi>!Z;u&5%Gxsdqd%E9y@2GZ^1$2K58)sKv z%qujtGWKlTf9k>euNc`?J6Z))CCulu66X2J)JLI@*`u>7%wZ;SbB7x30CG5TmJ+~@BbA!s1%(}jllUaS}bKsd3S@;&< zxxuo4K~_MN;QR_NbEN<^2hLoX9q2=!rzM!vT!8aITEHMHz_}G(Vi51VxTXR%XYR}f z`iOabcS|s*D8RXyZ2E{HB0a39b?5AP)?Zj z%qa@+%*?ic2+C&fhCge2iEaVo>AZV(0fSWmk(;y9E?_R<5#a~^+F})c7V_@#{6~~v z_zy22N^oYzOLv${@LgcQ)#LfV0!}f&8N+`{0Rw05gdfb`31Yb2N1eb>Pcg*6oIbPw zFL}zi*s26WJ$=-h_uauDKeYfacglRRxdg+!`nYek_X>t-P9IW$mpa8u4Mquuc=vJd zZvP3NT7Z|y&~%02J?ha{g}yRAr2x%lXtu)89{uRALVp>T3m8iby(&PH8JesxtYl!v_^g2WOL&LoDh%n_kA5rkyW-?K;O*Y?62rFue-)9TF)@r+dAx^s z59xjhf0KnvvI6GcbKEJxOTXIVJ*xWz=93lRxpZNm@Q+-A{;PWg<}%}~q)P(@#d&ez z+u|2{^j-N6%tM@)ba9~I3eSj3-piHqM1eDb5u%5UKPGdw4$fk43(o)MS6Eq{?mzm@O699DQn(&d4I;=H)< zZSjje`mX#3<{{2Yx;RkqM+`q6{a5!0%;i=AzkZ0lzsv4Ef%#ne5HtK=e-&|dFT-CI zUVF76!4N;Rfbp}gGp|^J=Y!aD zwFCp4Ir$E_RKWZt?A%o>AS=OutH<*L_lyz@N5j*CL9#X(CIg47rqe?KCP64Oy)t|k0g36e8nA2eVxo2k50>Y$%!)$hu ztEg8M;JeO@`ue_7f;;@1A_^FIHdq!gn>74Y0onX)AaIxa0?!Rr!Adrx{y-nAyH)p@ zS^afAzc>740hxgiUzuFZuM7m$&Vgs{qW(Z1W6qDY&V7P8qilX#fCj_BEPPtP%7hnJ zW8j&)s6Wt0%ti^`V|AAqbIRtwDL_-AXjMSRxEJ^QK+`L(%+Bazp4Y#3SYb{BXJlKz zFr{FpfPv=c3wUwQ2AZ9@GaKk5=JnkPe_&37@lUyPGid=~O2NS}Iz^a6H0WQgmX3X>MaQ36nM|CGlFo&6k z7NGbFb#}PpGfHrO*F%)x{Z~As07ZAGmEn$)03LyRPxpK89k&WNT{ci}g%@{cmy?}= z`%ZUz--;3Pr2?)l9H_a%%ij&c_bc3UcV~wPx?O-M*hQTchR_YfU7elkcXw4gD-2x9 z0`4qVXN6%@!MH=5zp_Kz(Z#S=vou==1vlWKC61>FjLcU+&nF`OZI632Nh97Gc#|3ms(ERQqzTe^54A1R2 zIqR%MJ|`tyDqvTFrgsU8v+&DfQ2y8umf3_5p$ zTH^c(YIQW7&B#i4S^>^g^Ig;v=TA|u(sgdfs)XAGoS^wr)XVVPDe65EOZcz?yyPkB zRe1gs^&ZJw!go=CT3ysRL9IsYSop7j>S&DB*vuIPoD2)F68R0000$?hE&XX zd(n`WL6PBrgM(bpkL#aK?08tsHLK)Z@qWRymks-~8Lly`VT@qjz?Q&!K&ru%VTcOI YWfUn+a literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/production/silicon-arc-furnace-top-alt.png b/core/assets-raw/sprites/blocks/production/silicon-arc-furnace-top-alt.png new file mode 100644 index 0000000000000000000000000000000000000000..f199ba271b6ee0762b4c7296b3d2acde747aeff0 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D%zdp%toLn`LH zy>+pu*?`C8;?n>B&wp9EWJ;rFgVNeH)%T3UY98-M(P9MZgM%5*E6>e)XzzQIdCtar ze==uzovl0a%XiQ3E&T!qzwy@m3JtbB6#k8&JaoVC8hhJxv+b`uH^^6g;ZS9hvviu7 z=-xY_j?@0*b-$(EmR~0qJw2GUW%2~G2lw2{dJ>A6#O^9B;lF0vbTnYDatrU4oGTaA zN_qv1&XhHGe9(Ss`5|5sPtxy{9Xk?v+Q&oua>L3B)h#_ zD%MKweIO;sGp}X0y9d9**S-WnhgZ@E)f%oCH-$2+jAz-+Fe$vHOg-VDfZ`)QkN@jC zl+)`Zdw+?3<=n=&L{4xGv&Uoi4SSilEqdRwLgAZwf?%moU)=vGMqt*W2;R>tCo0|G zDY~X1sMEG1tA*nw^PNyzr=JX$zH;20t{xgzGeUb literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/production/silicon-arc-furnace-top.png b/core/assets-raw/sprites/blocks/production/silicon-arc-furnace-top.png new file mode 100644 index 0000000000000000000000000000000000000000..486fd5d12375124377c3af57716632a73d020227 GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-D%zOFUg1Ln`LH zy>&6K*+9VM;==#`&%g7YD8S2<>~6h#-*ep{k8Q?g0wJ70jmY4DNc0y5|E<@e&i~$? z>-};2Qi)CGe`4E&-muq5|2wyr<@H0i!}l$xCs^MI{ZXE{&sMMNX~1H|G_8Yq3nCw; zY97p*adTm+#zXb025aTSSXt}WkL;SydfkvcTq*Q#@^|a^EgxhH_|o~8n*Z@%e|~;t zc}>d&(F?n8t?#ovy+!!Yz8}F7i?`48w>!PIWkc`!$k$&zAuQw!1>}{=C+`?hj zyvOu&iAbQ&kJt+gTe~DWM4fid(s4 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/production/silicon-arc-furnace.png b/core/assets-raw/sprites/blocks/production/silicon-arc-furnace.png new file mode 100644 index 0000000000000000000000000000000000000000..616a346e9f97a2d47f4dfe235a951b6cb9c808ac GIT binary patch literal 1704 zcmV;Z23PrsP) zOO6yV42Jtwu;3DdI0A?rV#$&vM?kDO01`XIg7a_)2BlGkOxlm%j-6C#63LsPx@`Yn zRh&mvaryk^>;1PMze4Txo400*j^QjZUf#X`c>mNO94WRdfTslEXfZtiI1_{tCuL_7 z{|3Ma1WuG!wq}V+%c>D|l@IcT+iGqOmp<<5~KN127zybjkWfX$NPaAud_)!p8 z00;!DC|(F2KQn!$0gxad!Endi-QAhZDoUgeYu=#%C&84y^#t5t4SC6~IV7)^or$Kr?U9Uh%Dl z0*DabaxQ2TgqpSgL$2Oz^TZsfi8>EJ?f0h-S345~Ppmc1C&1_Rz^(;RM*Vvq6bGSA&)b$tWSbU z5`o|qpM!viPsJ|fN{Nd?fBVN>arv5bAF-AyDF1v)-*O1WkMmKLu3)8IPw-8YAwUH7Epw^^IAFQPYcp-4dbLU0Gry!tl*1uKp{w?_Q|vmW{N)wK`PKA;;R4<2---78p5p*-wQz-9gT<&0pK<*q@XJV zD)1WY3h}KF>fexAGo=x-uK@v|AZS+(b@lYO>k9Ev2-01QbU*0E5)7b+pxwU6$f2HR zw)hAHu8wheQR0UKXib`BT83|{#77{Y7gZ6`yR|w5fP!EdKd% z65k5oksiH+5dhSd-J@QKffR2e*3l`n1bDs?$xE%(-?t&I}LAwYi7vVh&rQ5V& z=$?q(w&@eGy%h1kY2r)y4=qLP#khZM>0;boj$XVRT^;QWnFSj%t+Tx)IeAO67jsI!ISrZ=2k_syVpua-)qltz`6Sawk2A~gkKb(sLxK2_>0B`~C z$J3JlaQg$6V2=c$_@;94TvYwiO*jB)gU0iU(rO63cwEuty49(#C`lVMo|p7iL!f-u zoDTPrp0-0~eNA;W1j#q`GI@U&Pkl`l*&nvNsJ$A3h}f}Gzfezh48Qa{*a z868QDJh|fWwd}{S85<;I>%18SU@sYZq z4dGDJ`g>#$(LxCQXkRa;6+r(PM~nDeU5FH4f?$o+^36~LK(Uk$w_3#Sk0}-{el@h) z(KrR{>ZdoJsr<2vOog08oeC;4P26 zj2P!9Di4qNFaXWr$T>J+5D4g9B>9NW$0EK7faGxGw~{y#1hgyD&YzJJD!v(j7lK!O z?IAD?0($<)oa(=&0kA?C6(12Q^W5J2!)t&yh}q(2L$HEM10V$>nP&v!@iWtxrcoLI zD}<48x>uBJ2&hJB08nuvCP`jVvLIMBN&}#Y6Cpkdf%{!F1g}PE03s9j!d?-}D1=l1 yM@aaHF|`oV030FFBga-DqyRWVf@g@aK==z^1kfZywomu~0000Px$;Ymb6RA_-GQs?R)J35Lq(oCRyk)2xIY`Yv$iLf=ZX0B46vJqSGG3 z&Hdp@`{mio+HcQyuh;s*q;WP!`hx~n*SW9=k&X#r4s4zqSlApfiRlj-&K*MuDLRK$ zF|&^^76B5pBSpmwTTQD}joq)2rq=E2m6%TEFrCbEugmsftC`iSl|?&8y&>&ZJMA$5 z033f`6du_A!H)4d){$+@O_F7u7>TFkDCkbuS=Ks9M};D(n}z_i^9)JIraGY`PYm@? zMs`F9vG|-mJQp6!Z!vPcVF|ivRK-xMymKKot^k*#hUiAaaRuF68a~Q`;ubBphO#3#nHt zD`Mn#Rg8Mbas}x;qC*`hX3&@{7v%p8Q})89>QcQjrPLemj_BN=7R^!=L>HCcn~*#a pF1Ieh9Pz!)k3=GoNF?%?_yH^ywV|V}5VHUP002ovPDHLkV1jBZ^ke`4 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/items/item-beryllium.png b/core/assets-raw/sprites/items/item-beryllium.png new file mode 100644 index 0000000000000000000000000000000000000000..b16182be763bcca27b6f0e567b64fec8f251b656 GIT binary patch literal 386 zcmV-|0e$|7P)Px$JV``BR9J=Wmc0$aFc3yBhz-)wGDR2yi3TwMH4+P?U;(7m41m%^Vu&zBS~_M3 z1voN?@6Q+sB)$&h+bP@ue!2NQ7emq`@c8SU9iS%zwQA5+UyYlfXM#Gg zxF{f|$jPUGK~%^dFeNZv+DnHqlwO-`sJXWYye$zK_G3bwKp&WUASK))!G6iS1J_Cn zV@Se%h~I3HhY%?s!V^OMyu1xl!ZbY)J_iK2rf~ceEEjAe`h}^rmXk1i4j2mKwH7!j gU@h#{TH#-j8?|D)yr#eQ&j0`b07*qoM6N<$g6IsJ_5c6? literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/items/item-fissile-matter.png b/core/assets-raw/sprites/items/item-fissile-matter.png new file mode 100644 index 0000000000000000000000000000000000000000..119c92732d22bcad4850f5750a63fc367814d278 GIT binary patch literal 400 zcmV;B0dM|^P)Px$N=ZaPR9J=WmN9MuF%U&RdxqQqX*$~bqx&jOw0H$xxs!C9{Ec|@@ysUStJ#}{PCJQ{o<7^I~+@M7P z4|s^2M79S!;Xr;$L@RH2X-bj`H0x#C1$n`NbV~jR#AS*T8TiBaiI$EfDrrM}fCjFS z4id=~NB{<|l@1|Jft0|Ooyh}!AF5;u;`<4JQo~6N%fdy0u7nibZkHq&IFPx5(mO7V zniUT8JjLBgFmtYf_X@-kp&v%|&<#!r0O>nEs)sIcN`U#*vcdtwKcOcaFkXQdoEDHI uJm4yUSi%dg769_Eqy=sgkR+_|n}{F4BLm$1I0at-0000S literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/items/liquid-neoplasm.png b/core/assets-raw/sprites/items/liquid-neoplasm.png new file mode 100644 index 0000000000000000000000000000000000000000..1df725a9fa19443ae9f7193b88005d7b1fde31d2 GIT binary patch literal 507 zcmVPx$wMj%lR9J<@R-sPBKoETkNX%gfC*ahjf*=TjgkVSw!SVs523ZY1fJ9^X0s03d zHH74H0>RbbAQhwrg)f3^yKQH8cDKFUOPaLXY2Vv7GrJ3{7=jus%d!p-{~@23$E6yx zcXLpGd-z}`5hM)&V9i2gha3RD?%wOMw`-fgt{v3oNRSszF&W;d(-+M(MW-by#1ac zH;r2f7z$DZwTJW)aCW*`-K$pjfprb25Fw~xsjr&Ry|002ovPDHLkV1hIG;NJiM literal 0 HcmV?d00001 diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index e918d798aa..990e52f2df 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1045,11 +1045,14 @@ item.blast-compound.name = Blast Compound item.pyratite.name = Pyratite item.metaglass.name = Metaglass item.scrap.name = Scrap +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beryllium liquid.water.name = Water liquid.slag.name = Slag liquid.oil.name = Oil liquid.cryofluid.name = Cryofluid +liquid.neoplasm.name = Neoplasm unit.dagger.name = Dagger unit.mace.name = Mace diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index 552da17570..86d5609eb3 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -334,12 +334,34 @@ 63399=blasted|status-blasted-ui 63398=corroded|status-corroded-ui 63397=disarmed|status-disarmed-ui +63396=rhyolite|block-rhyolite-ui +63395=rhyolite-crater|block-rhyolite-crater-ui +63394=regolith|block-regolith-ui +63393=yellow-stone|block-yellow-stone-ui +63392=redmat|block-redmat-ui +63391=bluemat|block-bluemat-ui +63390=beryl-wall|block-beryl-wall-ui +63389=redweed|block-redweed-ui +63388=pur-bush|block-pur-bush-ui +63387=yellowcoral|block-yellowcoral-ui +63386=coralchunk|block-coralchunk-ui 63385=duct|block-duct-ui +63384=beam-drill|block-beam-drill-ui +63383=beryllium|item-beryllium-ui +63382=fissile-matter|item-fissile-matter-ui +63381=neoplasm|liquid-neoplasm-ui +63380=cell-synthesis-chamber|block-cell-synthesis-chamber-ui +63379=nuclear-warhead|block-nuclear-warhead-ui +63378=warhead-assembler|block-warhead-assembler-ui +63377=ballistic-silo|block-ballistic-silo-ui 63376=repair-turret|block-repair-turret-ui 63375=payload-propulsion-tower|block-payload-propulsion-tower-ui 63374=payload-incinerator|block-payload-incinerator-ui 63373=payload-void|block-payload-void-ui 63372=payload-source|block-payload-source-ui +63371=regolith-wall|block-regolith-wall-ui +63370=rhyolite-wall|block-rhyolite-wall-ui +63369=yellow-stone-wall|block-yellow-stone-wall-ui 63368=retusa|unit-retusa-ui 63367=directional-item-bridge|block-directional-item-bridge-ui 63366=duct-router|block-duct-router-ui @@ -349,5 +371,10 @@ 63362=aegires|unit-aegires-ui 63361=electrified|status-electrified-ui 63360=navanax|unit-navanax-ui +63359=wall-ore-beryllium|block-wall-ore-beryllium-ui +63358=graphitic-stone|block-graphitic-stone-ui +63357=graphitic-wall|block-graphitic-wall-ui +63356=carbon-wall|block-carbon-wall-ui +63355=silicon-arc-smelter|block-silicon-arc-smelter-ui 63354=payload-launch-pad|block-payload-launch-pad-ui 63353=silicon-arc-furnace|block-silicon-arc-furnace-ui diff --git a/core/assets/sprites/caustics.png b/core/assets/sprites/caustics.png new file mode 100644 index 0000000000000000000000000000000000000000..69b344adccee67b58634fe7ff44fe1f224d9c27a GIT binary patch literal 47761 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 ay88oD^Yw31LYU>Z>F3 new HexMesh(this, 4); + atmosphereColor = Color.valueOf("f07218"); + startSector = 10; + atmosphereRadIn = 0.02f; + atmosphereRadOut = 0.3f; + tidalLock = true; + }}; + + tantros = new Planet("tantros", sun, 2, 1){{ + generator = new TantrosPlanetGenerator(); + meshLoader = () -> new HexMesh(this, 4); + atmosphereColor = Color.valueOf("3db899"); + startSector = 10; + atmosphereRadIn = -0.01f; + atmosphereRadOut = 0.3f; + }}; + serpulo = new Planet("serpulo", sun, 3, 1){{ generator = new SerpuloPlanetGenerator(); meshLoader = () -> new HexMesh(this, 6); diff --git a/core/src/mindustry/graphics/EnvRenderers.java b/core/src/mindustry/graphics/EnvRenderers.java index bc669b56ef..6bd42dfc42 100644 --- a/core/src/mindustry/graphics/EnvRenderers.java +++ b/core/src/mindustry/graphics/EnvRenderers.java @@ -1,8 +1,95 @@ package mindustry.graphics; +import arc.*; +import arc.graphics.*; +import arc.graphics.Texture.*; +import arc.graphics.g2d.*; +import arc.math.*; +import arc.util.*; +import mindustry.type.*; +import mindustry.world.meta.*; + +import static mindustry.Vars.*; + public class EnvRenderers{ public static void init(){ + Color waterColor = Color.valueOf("353982"); + Rand rand = new Rand(); + + Core.assets.load("sprites/rays.png", Texture.class).loaded = t -> { + ((Texture)t).setFilter(TextureFilter.linear); + }; + + renderer.addEnvRenderer(Env.underwater, () -> { + Draw.draw(Layer.light + 1, () -> { + Draw.color(waterColor, 0.4f); + Fill.rect(Core.camera.position.x, Core.camera.position.y, Core.camera.width, Core.camera.height); + Draw.reset(); + + Blending.additive.apply(); + Draw.blit(Shaders.caustics); + Blending.normal.apply(); + }); + + Draw.z(Layer.light + 2); + + int rays = 50; + float timeScale = 2000f; + rand.setSeed(0); + + Draw.blend(Blending.additive); + + float t = Time.time / timeScale; + Texture tex = Core.assets.get("sprites/rays.png", Texture.class); + + for(int i = 0; i < rays; i++){ + float offset = rand.random(0f, 1f); + float time = t + offset; + + int pos = (int)time; + float life = time % 1f; + float opacity = rand.random(0.2f, 0.7f) * Mathf.slope(life) * 0.7f; + float x = (rand.random(0f, world.unitWidth()) + (pos % 100)*753) % world.unitWidth(); + float y = (rand.random(0f, world.unitHeight()) + (pos % 120)*453) % world.unitHeight(); + float rot = rand.range(7f); + float sizeScale = 1f + rand.range(0.3f); + + float topDst = (Core.camera.position.y + Core.camera.height/2f) - (y + tex.height/2f + tex.height*1.9f*sizeScale/2f); + float invDst = topDst/1000f; + opacity = Math.min(opacity, -invDst); + + if(opacity > 0.01){ + Draw.alpha(opacity); + Draw.rect(Draw.wrap(tex), x, y + tex.height/2f, tex.width*2*sizeScale, tex.height*2*sizeScale, rot); + Draw.color(); + } + } + + Draw.blend(); + }); + + Core.assets.load("sprites/distortAlpha.png", Texture.class); + + renderer.addEnvRenderer(Env.scorching, () -> { + Texture tex = Core.assets.get("sprites/distortAlpha.png", Texture.class); + if(tex.getMagFilter() != TextureFilter.linear){ + tex.setFilter(TextureFilter.linear); + tex.setWrap(TextureWrap.repeat); + } + + //Draw.z(Layer.weather); + Draw.z(layer); + Weather.drawNoiseLayers(tex, scorchColor, scl, alpha, speed, 1f, 1f, 0f, + layers, speedl, alphal, lscl, colorl); + Draw.reset(); + }); } + + public static Color scorchColor = Color.scarlet; + public static float scl = 1000f, lscl = 0.8f, alpha = 0.2f, speed = 0.4f, speedl = -1.3f, colorl = 0.9f, alphal = 0.7f; + public static int layers = 4; + public static float layer = Layer.weather - 1; + } diff --git a/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java b/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java new file mode 100644 index 0000000000..aff8c2ba4a --- /dev/null +++ b/core/src/mindustry/maps/planet/ErekirPlanetGenerator.java @@ -0,0 +1,181 @@ +package mindustry.maps.planet; + +import arc.graphics.*; +import arc.math.*; +import arc.math.geom.*; +import arc.util.*; +import arc.util.noise.*; +import mindustry.*; +import mindustry.ai.*; +import mindustry.content.*; +import mindustry.game.*; +import mindustry.maps.generators.*; +import mindustry.type.*; +import mindustry.world.*; +import mindustry.world.meta.*; + +import static mindustry.Vars.*; + +public class ErekirPlanetGenerator extends PlanetGenerator{ + RidgedPerlin rid = new RidgedPerlin(1, 2); + RidgedPerlin crid = new RidgedPerlin(2, 3); + + public float scl = 2f; + public float heightScl = 1f, octaves = 8, persistence = 0.7f, heightPow = 3f, heightMult = 1.5f; + + Block[][] arr = { + {Blocks.regolith, Blocks.regolith, Blocks.yellowStone, Blocks.rhyolite, Blocks.basalt} + }; + + { + noise.setSeed(2); + } + + @Override + public void generateSector(Sector sector){ + //no bases right now + } + + @Override + public float getHeight(Vec3 position){ + return Mathf.pow(rawHeight(position), heightPow) * heightMult; + } + + @Override + public Color getColor(Vec3 position){ + Block block = getBlock(position); + return Tmp.c1.set(block.mapColor).a(1f - block.albedo); + } + + @Override + public float getSizeScl(){ + return 2000; + } + + float rawHeight(Vec3 position){ + return (float)noise.octaveNoise3D(octaves, persistence, 1f/heightScl, 10f + position.x, 10f + position.y, 10f + position.z); + } + + float rawTemp(Vec3 position){ + return position.dst(0, 0, 1)*2.2f - (float)noise.octaveNoise3D(8, 0.54f, 1.4f, 10f + position.x, 10f + position.y, 10f + position.z) * 2.9f; + } + + Block getBlock(Vec3 position){ + float ice = rawTemp(position); + + float height = rawHeight(position); + Tmp.v31.set(position); + position = Tmp.v33.set(position).scl(scl); + float temp = (float)noise.octaveNoise3D(8, 0.6, 1f/2f, 10f + position.x, 10f + position.y + 99f, 10f + position.z); + height *= 1.2f; + height = Mathf.clamp(height); + + Block result = arr[Mathf.clamp((int)(temp * arr.length), 0, arr[0].length - 1)][Mathf.clamp((int)(height * arr[0].length), 0, arr[0].length - 1)]; + + if(ice < 0.6){ + if(result == Blocks.rhyolite || result == Blocks.yellowStone || result == Blocks.regolith){ + return Blocks.ice; + } + } + + return result; + } + + @Override + public void genTile(Vec3 position, TileGen tile){ + tile.floor = getBlock(position); + + if(tile.floor == Blocks.rhyolite && rand.chance(0.01)){ + tile.floor = Blocks.rhyoliteCrater; + } + + tile.block = tile.floor.asFloor().wall; + + if(rid.getValue(position.x, position.y, position.z, 25) > 0.2){ + tile.block = Blocks.air; + } + + if(crid.getValue(position.x, position.y + 4f, position.z, 7f) > 0.7){ + tile.floor = Blocks.graphiticStone; + } + } + + @Override + protected void generate(){ + float temp = rawTemp(sector.tile.v); + + if(temp > 0.7){ + + pass((x, y) -> { + if(floor != Blocks.ice){ + float noise = noise(x + 782, y, 7, 0.8f, 310f, 1f); + if(noise > 0.67f){ + if(noise > 0.72f){ + floor = Blocks.slag; + }else{ + floor = Blocks.yellowStone; + } + ore = Blocks.air; + } + } + }); + } + + cells(4); + + float length = width/3f; + Vec2 trns = Tmp.v1.trns(rand.random(360f), length); + int + spawnX = (int)(trns.x + width/2f), spawnY = (int)(trns.y + height/2f), + endX = (int)(-trns.x + width/2f), endY = (int)(-trns.y + height/2f); + float maxd = Mathf.dst(width/2f, height/2f); + + erase(spawnX, spawnY, 15); + brush(pathfind(spawnX, spawnY, endX, endY, tile -> (tile.solid() ? 300f : 0f) + maxd - tile.dst(width/2f, height/2f)/10f, Astar.manhattan), 7); + + distort(10f, 12f); + distort(5f, 7f); + + pass((x, y) -> { + float max = 0; + for(Point2 p : Geometry.d8){ + max = Math.max(max, world.getDarkness(x + p.x, y + p.y)); + } + if(max > 0){ + block = floor.asFloor().wall; + if(block == Blocks.air) block = Blocks.yellowStoneWall; + } + + }); + + inverseFloodFill(tiles.getn(spawnX, spawnY)); + + tiles.getn(endX, endY).setOverlay(Blocks.spawn); + + tech(Blocks.darkPanel3, Blocks.darkPanel5, Blocks.darkMetal); + + //ores + pass((x, y) -> { + + if(block != Blocks.air){ + boolean empty = false; + for(Point2 p : Geometry.d8){ + Tile other = tiles.get(x + p.x, y + p.y); + if(other != null && other.block() == Blocks.air){ + empty = true; + break; + } + } + + if(empty && noise(x + 78, y, 4, 0.7f, 35f, 1f) > 0.67f && block == Blocks.carbonWall){ + block = Blocks.graphiticWall; + }else if(empty && noise(x + 782, y, 4, 0.8f, 40f, 1f) > 0.7f && block != Blocks.carbonWall){ + ore = Blocks.wallOreBeryl; + } + } + }); + + Vars.state.rules.environment = Env.scorching | Env.terrestrial; + Schematics.placeLaunchLoadout(spawnX, spawnY); + } +} diff --git a/core/src/mindustry/maps/planet/TantrosPlanetGenerator.java b/core/src/mindustry/maps/planet/TantrosPlanetGenerator.java new file mode 100644 index 0000000000..e0613769ec --- /dev/null +++ b/core/src/mindustry/maps/planet/TantrosPlanetGenerator.java @@ -0,0 +1,111 @@ +package mindustry.maps.planet; + +import arc.graphics.*; +import arc.math.*; +import arc.math.geom.*; +import arc.util.*; +import mindustry.*; +import mindustry.content.*; +import mindustry.game.*; +import mindustry.maps.generators.*; +import mindustry.type.*; +import mindustry.type.Weather.*; +import mindustry.world.*; +import mindustry.world.meta.*; + +import static mindustry.Vars.*; + +public class TantrosPlanetGenerator extends PlanetGenerator{ + Color c1 = Color.valueOf("5057a6"), c2 = Color.valueOf("272766"), out = new Color(); + + Block[][] arr = { + {Blocks.redmat, Blocks.redmat, Blocks.darksand, Blocks.bluemat, Blocks.bluemat} + }; + + { + noise.setSeed(1); + } + + @Override + public void generateSector(Sector sector){ + //no bases + } + + @Override + public float getHeight(Vec3 position){ + return 0; + } + + @Override + public Color getColor(Vec3 position){ + float depth = (float)noise.octaveNoise3D(2, 0.56, 1.7f, position.x, position.y, position.z) / 2f; + return c1.write(out).lerp(c2, Mathf.clamp(Mathf.round(depth, 0.15f))).a(0.6f); + } + + @Override + public float getSizeScl(){ + return 2000; + } + + @Override + public void addWeather(Sector sector, Rules rules){ + rules.weather.and(new WeatherEntry(Weathers.suspendParticles)).peek().always = true; + } + + @Override + public void genTile(Vec3 position, TileGen tile){ + tile.floor = getBlock(position); + + if(tile.floor == Blocks.redmat && rand.chance(0.1)){ + tile.block = Blocks.redweed; + } + + if(tile.floor == Blocks.bluemat && rand.chance(0.03)){ + tile.block = Blocks.purbush; + } + + if(tile.floor == Blocks.bluemat && rand.chance(0.002)){ + tile.block = Blocks.yellowCoral; + } + } + + @Override + protected void generate(){ + pass((x, y) -> { + float max = 0; + for(Point2 p : Geometry.d8){ + max = Math.max(max, world.getDarkness(x + p.x, y + p.y)); + } + if(max > 0){ + block = floor.asFloor().wall; + } + + if(noise(x, y, 40f, 1f) > 0.9){ + //block = Blocks.coralChunk; + } + }); + + Schematics.placeLaunchLoadout(width / 2, height / 2); + + Vars.state.rules.environment = Env.underwater; + + state.rules.canGameOver = false; + } + + float rawHeight(Vec3 position){ + return (float)noise.octaveNoise3D(8, 0.7f, 1f, position.x, position.y, position.z); + } + + Block getBlock(Vec3 position){ + float height = rawHeight(position); + Tmp.v31.set(position); + position = Tmp.v33.set(position).scl(2f); + float temp = (float)noise.octaveNoise3D(8, 0.6, 1f/2f, position.x, position.y + 99f, position.z); + height *= 1.2f; + height = Mathf.clamp(height); + + //float tar = (float)noise.octaveNoise3D(4, 0.55f, 1f/2f, position.x, position.y + 999f, position.z) * 0.3f + Tmp.v31.dst(0, 0, 1f) * 0.2f; + + return arr[Mathf.clamp((int)(temp * arr.length), 0, arr[0].length - 1)][Mathf.clamp((int)(height * arr[0].length), 0, arr[0].length - 1)]; + } +} diff --git a/core/src/mindustry/mod/ClassMap.java b/core/src/mindustry/mod/ClassMap.java index 0961e12999..aa258a0666 100644 --- a/core/src/mindustry/mod/ClassMap.java +++ b/core/src/mindustry/mod/ClassMap.java @@ -1,8 +1,6 @@ package mindustry.mod; import arc.struct.*; -import mindustry.world.blocks.environment.*; - /** Generated class. Maps simple class names to concrete classes. For use in JSON mods. */ @SuppressWarnings("deprecation") public class ClassMap{ @@ -173,11 +171,11 @@ public class ClassMap{ classes.put("OreBlock", mindustry.world.blocks.environment.OreBlock.class); classes.put("OverlayFloor", mindustry.world.blocks.environment.OverlayFloor.class); classes.put("Prop", mindustry.world.blocks.environment.Prop.class); - classes.put("Bush", Bush.class); - classes.put("WavingProp", WavingProp.class); + classes.put("SeaBush", mindustry.world.blocks.environment.SeaBush.class); + classes.put("Seaweed", mindustry.world.blocks.environment.Seaweed.class); classes.put("ShallowLiquid", mindustry.world.blocks.environment.ShallowLiquid.class); classes.put("SpawnBlock", mindustry.world.blocks.environment.SpawnBlock.class); - classes.put("StaticClusterWall", StaticClusterWall.class); + classes.put("StaticCoralWall", mindustry.world.blocks.environment.StaticCoralWall.class); classes.put("StaticTree", mindustry.world.blocks.environment.StaticTree.class); classes.put("StaticWall", mindustry.world.blocks.environment.StaticWall.class); classes.put("TreeBlock", mindustry.world.blocks.environment.TreeBlock.class); diff --git a/core/src/mindustry/world/blocks/environment/Bush.java b/core/src/mindustry/world/blocks/environment/SeaBush.java similarity index 95% rename from core/src/mindustry/world/blocks/environment/Bush.java rename to core/src/mindustry/world/blocks/environment/SeaBush.java index ec1f61d9c1..8dfe08663b 100644 --- a/core/src/mindustry/world/blocks/environment/Bush.java +++ b/core/src/mindustry/world/blocks/environment/SeaBush.java @@ -6,7 +6,7 @@ import arc.util.*; import mindustry.annotations.Annotations.*; import mindustry.world.*; -public class Bush extends Prop{ +public class SeaBush extends Prop{ public @Load(value = "@-bot", fallback = "@") TextureRegion botRegion; public @Load(value = "@-center") TextureRegion centerRegion; @@ -16,7 +16,7 @@ public class Bush extends Prop{ static Rand rand = new Rand(); - public Bush(String name){ + public SeaBush(String name){ super(name); variants = 0; } diff --git a/core/src/mindustry/world/blocks/environment/WavingProp.java b/core/src/mindustry/world/blocks/environment/Seaweed.java similarity index 93% rename from core/src/mindustry/world/blocks/environment/WavingProp.java rename to core/src/mindustry/world/blocks/environment/Seaweed.java index e999137af5..3d9cd1aa37 100644 --- a/core/src/mindustry/world/blocks/environment/WavingProp.java +++ b/core/src/mindustry/world/blocks/environment/Seaweed.java @@ -5,9 +5,9 @@ import arc.math.*; import arc.util.*; import mindustry.world.*; -public class WavingProp extends Prop{ +public class Seaweed extends Prop{ - public WavingProp(String name){ + public Seaweed(String name){ super(name); } diff --git a/core/src/mindustry/world/blocks/environment/StaticClusterWall.java b/core/src/mindustry/world/blocks/environment/StaticCoralWall.java similarity index 85% rename from core/src/mindustry/world/blocks/environment/StaticClusterWall.java rename to core/src/mindustry/world/blocks/environment/StaticCoralWall.java index 90f9417863..47ece65eca 100644 --- a/core/src/mindustry/world/blocks/environment/StaticClusterWall.java +++ b/core/src/mindustry/world/blocks/environment/StaticCoralWall.java @@ -5,10 +5,10 @@ import arc.math.*; import mindustry.annotations.Annotations.*; import mindustry.world.*; -public class StaticClusterWall extends StaticWall{ +public class StaticCoralWall extends StaticWall{ public @Load(value = "@-cluster#", length = 1) TextureRegion[] clusters; - public StaticClusterWall(String name){ + public StaticCoralWall(String name){ super(name); variants = 1; } diff --git a/gradle.properties b/gradle.properties index 0152a046ab..0d662cd2bc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,4 +8,4 @@ kapt.use.worker.api=true kapt.include.compile.classpath=false # I don't need to use the kotlin stdlib yet, so remove it to prevent extra bloat & method count issues kotlin.stdlib.default.dependency=false -archash=5364d0187882a5e2f09850fe2505608dd7cf93f3 +archash=4db7abe679c53dbcef400b65da75247ffa6334d3