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 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEk44ofy`glX=O&z~bQP z;uumf=WLX1zObW!>|%u&S>7Ox2{NwJ^olqaEpWULaQVW;3juCFIe&6$hP^S{@foqc{; zbbH3_-S_9~*jDeWU7jp|wf@ehl7AmBPgnh9{;;`eHp8^W>aGV$4ekfxl-5LAKVh=9 zvTa*c-L}u#(zfmRUiT&Mr|Zv~d5&|Lt%K7%=Ih6Hsn6hCpjdBtE2c``K0BC2n6YSI zjgN%z5?#Tr=gb$`qO>Bc@$KBZKMO4U z*rrQwIo9?nmf_b`N1X%T&b>QisMe%fdG1;e%R~mlpA8W#{GaCVYYRp&8hm2BQm{ec z{Lf7SjUo+7{0s&XUoJkM_QZ1jQYDpiAOBA)rz%X<>`L5gwZK+k`W_L9K+Z~r-}5#s z@zVSGuwYNceCd>iCE}4^Te9n?OzOXF$~BXlb9upVWAgJi zCLhEWe*X5AebS%9%eP;AE>p?y*DG+-a*vzWHis{f-O2xA{q+|w&oh~s@;#IysG~aTHJiL$M;U)uwQts!EtY$3y7G%Iv`o=)c`!*!!f9FN zu8+TOeSRY2uyk3_jMy(OZ%qy_>=gPWaUxW~oki2jb2UWJ`7U~LWOkjEvmyz*6 zm+82orUPGPmg<59f{s-=eU62Z*?uuQ<858*3|@4b`QLaoK`3=s>56$g%TAcxtGR}H+v8`$1Q0=_7XiG)Iat_9`yfaF~Jv(O+HQ@=h&w(a@awRe?VsLT9bu!X**6x@{U9ckXd%nN(Ei|A~R^J5vn9{e6$hI~l@R zRvP->^!m4*MNM2eMj@t8P?&M^#XtUk44ofy`glX=O&z*y_) z;uumf=k2W1yoU^U+JcV=@f_qUc*rHKXx5}Hexp%QV(}cM&@iDn%j&LtEO*h^^#6wE z8!MLMg)+wt5C7QNXZl}$1<%BUSARC_Usz+T?2z@`P-%w10+Db3U2f>)^XYH3Xkl*Qe*wXdD7gi6}6OuYJ`2rSrr0 zLFd{J2rynq@OyrB%HfLzopZx43ryts{b>8)WmAm{#GIEFNm$LRl9=e?klpLYnjIap znnU1H-vud`fX@Px4zW%!YY_Ta6v6z6SCF^F+JNyRBiHLQHxrF_8kT#UYGH`&Ke@H% zWLv@?sgTQpitF 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 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEk44ofy`glX=O&z%t#_ z#WAE}&f93+d}&7k+31NfIiePm92-O@M6m@1P7Dk!Iq)ieOj zXlQ6z>||GBZl0VKI<>GjM&NB_UVd8HyX5ziPV^u7`0nhv>YM9tZ_oVu^H=5fXKxJ? z&R8X1P`YvM<|doMR~gM+m-*!79==~+|B9_vYR1C3=K+3S6t(SH~Xy1{d`bt zVMepviR>itvoAUR3)$Hm;yCx<-=oDdI_^drT)S)WQ^wWXuutsy^XA&y())6EJm^lF zYiP@U=GWpY;@e**N34J3BBf2Wn_v)lQ_+;1m0$^AQXWn#g3o5hMd;*Op(J1V!}@9NljI#;D9X$j;!FQ{A; zofzY^k?DzIzwl??J8q&%6PQF4^B)AWXq80@1~IV|a>Q31a${atek;8^!p`ME(mAW- zuXjHEd;Z;Lj!T0A-(>xzGsPA5x?EFia=CXvmFZc_~AZF3+_=XwBJ00+Z?{Z|8(ekkNS9DVkT{q2zzLJSJO*G*7y z=y)K!gZJ!{7fxOck@YI?)~gDxs`z>}X>S+z#QA0IGmAdu8m#9y%`a>h?Z2R{x!WdG zzf|sk?SxE@tNBfP7{wgD@2#6}DR^jdyEjXo$Cb{=^fhYv{?AT!PT*b3ab8xalDSM& zo)kfoP#bDl5aRqqtYdH!>);qHC8Gp=y1HPw$y-g!3AYmJ)AiR`o8&oY7p+IOC0wvn9> zR;nJ*yy)7Wl+6#`7K*EUVk_+k*lN07sA0C_%H+cNhZXxx*T){4%QRzg>TQOFCuYYz za%K?@E?Ualleoz8Qhsdg{Wk^Qk9}ue!O*;WrH9;Nt;a51x%d4S=os6qfB2hm=ITun zbE>9@UOQ5!&~K_Am3&g%t5`(ARy{-Q_@)(yW<5W1@!Hj|XV0x$vvt?bjqgqyKRI$u zYRi=4j($zIp7vzjSe_VlY}RugxiV1=B`4XuLc#2~qU|RX8y3p)mA+$P{8G7djqUT? zj~Y={(zA2K3|?MLt@w2DSI;W*OJ^4ez20|4*O1|F?LQl})!*uxu9S)BhOTD*X?BA3 z%w&haPgjg9T@UOGQrZxn`nlu5WSg&R!dPDMx4IfUxw(21!@HX?y8`1xD|y~(UVZy( zhAwl(soVRsy#1OSWxAAF`1^AruiQ6(ken)Uq~^B56PY85Ertg;&IKuLn7qJ5My0T3 zpLoc`$$#ZHtzlS~7_gng^bP0l+XkKHt9qJ 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U_9XI z;usRqx_7!`-XQ}4S9`(O@*nL(Y;U3rJD-rRjq#_}X5mr^Wq5AzncYqu_N zx_#Z{{_!L0gD9t2&RU(pR~VCddJLV_CBzvXeEP@5aFK5okAou<2b&7JlkJ2Ji?7Kl zOmZ{YHqXg(ivZ(+hzV?mc0QQ$)$B}@f(UG44 zI*hVz$IOCG9q*W*U7~bpN-|f=D*m3c9l;7WDj(eI+WSboc2=gSbe=quKy!se1ItHt Zt4IMMuFE&l85kHCJYD@<);T3K0RRoK+d=>U 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U_9XI z;usRqx_7!`-XQ}4S9`(O@*nL(Y;U3rJD-rRjq#_}X5mr^Wq5AzncYqu_N zx_#Z{{_!L0gD9t2&RU(pR~VCddJLV_CBzvXeEP@5aFK5okAou<2b&7JlkJ2Ji?7Kl zOmZ{YHqXg(ivZ(+hzV?mc0QQ$)$B}@f(UG44 zI*hVz$IOCG9q*W*U7~bpN-|f=D*m3c9l;7WDj(eI+WSboc2=gSbe=quKy!se1ItHt Zt4IMMuFE&l85kHCJYD@<);T3K0RRoK+d=>U 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!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U|8+x z;usRq`gW={UxR{xi~D0v4Go*txz|7ZW8bjh16Newhx@8JGfqqq_X8;uJ>=foy-s7|P=>wIb3C@0CJ!npG9WLA}A&K9+)bM6Tj vG+ruD_@tk~X!bLVz3qU21k-+z3Pw?RLz|YV2U!^y7#KWV{an^LB{Ts5ME+S| literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/bluemat2.png b/core/assets-raw/sprites/blocks/environment/bluemat2.png new file mode 100644 index 0000000000000000000000000000000000000000..13d68ac5f0074d79071a4adf1d99e2c446fa51e0 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V7Tn* z;usRq`gYoG-Ub667v3Z$F0N$@l6k+$H#9YgE^w~#`SVc6e9jcL&I<9PN5Xp#ZwXxV z%Ev-5F!|=4t+v+t*A(|Onk#HSpWS4-fK~a+3PygJGS;vk;vWt-u=X*;^JF~q_;8d# z>Wu7*x6+TCTN}ID?o2D;-l6jPyI$Og?OgkYlwy{Z(8cdb_4zrBm0E j2|gKtRmNWC8<>Ag3HRBzPJadi0|SGntDnm{r-UW|okeTb 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!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>VCeC5 zaSVxQO*S#-_;KE#p&?U2SHASX3T8K1gI5iK>^)WqR~Q%bNt7N~P{6=#IqOKvk`Jf$ zSAFmK#ix*>X}0x|*{n*!=85kHC NJYD@<);T3K0RWz^NrM0Y 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 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEmp6Z&+GX0(zptXMN-j4qx6U?-_u8@7vnPK%_9Oc3s+k+M?cHo% zSz9T)b`@tZ^NqUfL#u2=_wh319*VaUeV6xs+3R5E<4QjN6B#mu+f0@my;-wUOfl`o z9*#)=PhWCNdnK72d=d`6a&mB%`cxV+an71;Yf}?@b>a(n8FHOcH-@YD!?)yyJUiC(Kp+ zX&a!tIECQ`zn5)q_Q7q6a^Kfn<$j$$g?B>m1@1@DJcbRWg43TGEqA@iaACQ^`&_!{)rk;+Rg)$vtu(FQgv$_Rh>w?~P59?q>;xj?03I#Z@nj4&46hu|t9FM6{Z< z>*mu=HyQH33(j}sYvSbX?@TpVl+&>N_q~bY0{4?7eKaHmIy-qfo>lAIYMI1%@11js zgNZ$paEGgnY7p~{lRiAxZGz$4=XveL1!nKgGVL{g612IKLGlCZ?HQoJ|uxAqgO2&ZPh=jTnr}N#}t_)7fJHjF# zU*}~w-yrufAakB2NAH8G?q!S}iQ&}>#}7rEx0?Fw;d$PMdB+$x%JsZHac!-Hz+Mig zuk90`aWc$0H|y$_eM;GzO10TscE^kIt1>HOhaKJ{H{<=x?j2`Za=vf2@xICML29c3 zd!X%v$AX+Ek2p_x{_!;%LsOMc!oJq!mk$3u{M|px$=gQf4#T|WKVlsXTr*VF6y_Xf z%HAMW@n~gh!aO6U?~=>thFU)jXP{vPx39T z8`(^@6)vR`?mG_D9#e8+UUaC56-NynnI0=`lG{_tnw7n2=Q_s7M28v{ zwHLw8#x7S_+!CZLS$S$`a(IV5F%~H23L_ek6y?3`=l3BpRMM>g$72EZh=@Z>-1&lMjj!hU-ET z=CR~gTSY8qk86osJ;{7Kqf^KPwH<07_>zuCP0)ADV|&C}6!m$paJr{|gPPW{9W4iv zrQWpe;n0m+(B?AbwiRnCb5yI2iHjfq8TIpzI=8#*TpJu<=Fq`asnGV*)?mJZxYi@q zxyw)bIc{eZ5WRH4;&Ypm-bHT9q(j4atVp(z>UCS}Z@2ivpS6p7+!+`c7(8A5T-G@yGywnus6gug 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANM!CY~;iAr*|t+X_Ga&|kjf zQo`#ucNV1QIF+B_*)*rIvGL*K_I@6wCME^7SVm*<}$)BV8Ouh!IFv1p>0ue4Z{+#*~%NN7+4ZIC(UZeVDIqgnvk-7 z&mx-}1rt~m=09Rmu$&;3(qPKs@zM4~Q3}H*h7>_PhDq*h5_}3*zrSE>V({RZuIx~B zg5faZk{@y`4q^+XxtJ6TC&*YabSg9RunSCPzQA}wsifJFL8XuH!qr3z29^~MIdW2& zs;U?n*YGhgmbmY!{Kw|ZBim5JbNB_r?57G1ml+ipidjw+Ni=j$WGaZ{W2%s4U{c_| z$f(IFI{&GH!v)4047->e6j_Qic3E&NP`4^^*vRZK?J$Fxd&4CbJNF517@jn7-7Jz& zFctAAV%YRlf#H*(6+`DjYo>S&fwv4LryUtm1W!1XFbFZ9RAi3nQ@F+Wg6$B4hfIp1 z6+`D@=A6vNB=!b|6GkcS3Ea8@3r;X9a65=S1cye8JHBBFX$d*y=PP3tjKz)TaHV`l7VG|B~yx|hm2%0v%=5&84DdYF*`7% z2%Ioi_`uff|B-RRz55=03a1$r7>qbtPBJRg8n{n*%iwho6xntEf1YJv2r&&7RX#oM RF9QPugQu&X%Q~loCIET$*cbo+ 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!ia0y~yU{C;I4mJh`hT^KKFANM!44y8IAr*|t*Djd-T)%Mr z^@P`N?kq^paVkHfqoj8A!`sv5ZTIWzj5#>C3@%7F$TDmySs=q$&cIRdvB1@{n1AkAZQ5vV(+( z)Cq>01rwg`VA$pSk#P-Q17l1dgC&djgzzcHRa-?LlrnH66tn0#ta_^8aDh>wK~D4r zgXOelhEN%YbzmW-NlFT(6^xple6j*142B2!y{0^|Vp`AK@zIv&!V$(3`|3ac;pLK- z6)0j@ap!1Q9U0=M9eK_$;i*BxJB~Gc2huEg9u%?Iu{Y?rvYp5>lxfJZ z@wVOKDG@`8~u#d#v*ruT^qk-BZn7kJq|I*Kh~o*?1D$L6rl#Y}=_Lu6lEnm`Ey zM}rPiWCx$aqZ15w85P_YGMAXTSTe9&kZq6)Rbbd8kj7}ZkDYOmEW;<=GlDmC+QA_p zyMW!6N8l}k0D~n{izn+29dk44ofy`glX=O&z|`jH z;uumf=k0CVyxR@}Y!^Hy7;Sxc%e)|OqVx|HJC|89hkElTM61*`>@b^Sw)e72o703V zpWJUne%kA`!6os*Pm7p!FF6>n1Feei-3?)Xe*XJe`eJYY{C%dst8=z}@RrD~3SX_5 zvFU~Pj7xu-#hfq19Gq^j{3rX`)(5q3nKngU`Xk19VB%g=d!{{{m<-c!RZ|}(CXp`EV5;#MVGjyXIKmhBIf^o3fgjGG5F0Fk@r% zfw1L=(wG7^|7^d$+|Kxmt!eHfp@7{#z4xzvrnKSb?E{u)_wU*rSEF{$(k}Y5vY7#+ z7n8xYHJ6Ncrl=RZ`nYwr{KjU6DRWkOI~%ySJ#){=5WJE8mi2lRfAgQZA6wllSKlaM zIG1^{n8`f8ewoE@WwQ+&GQqpH*L#}B*DcAcJHn@S;KJXZ5BCZMi%)c(f4=Ch{j_xp zR%X3n)S0Nuva)OD>lnowxAxV~_g&98P2$$y=;X5#UjFAd6KwF-S+niek`HQ30f#ST zPDtfivQtdgG*$M3x#6!q`>zXL+(_Sj{07&)hDicFv3k?m9!z;x&Us)a59`8|wE;p+ z9WNaX7^OCqacnZPcVb{$E82ACY`;K5;8I16i7Q_o4-%VtQcCf}tv?)$8fN9YEpNyF o-xVZ2{oFVdQ&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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U@Y-; zaSVxQJvz-W@2~-nYo@tFTiL4%B9_h#3J!i3f>TcFcAa_2SkAIYOZ*KUdQzBPhahc6@Pr>!WRP* z+dX;rm<+P)+Pmhje=E!IV26J4`Myt|S>1V`PulPI^d?6_>jj1&_bx>-vF15}I^KG$ z>uXl#FDlM^^M8$3m*vxdrUlp37(ztWY-(^-Za9Bg-aCD*EnldRSKqExzFChWU+FDv zex_N&%Cg+W4)w2J7y_!JpXHJIc0bk44ofy`glX=O&!1&+O z#WAE}&fA%`L5B?lTE*L}3mCjk-D#R8+2?$)aK^%?Vw$nP7%W*sW*HuuR2H7U)OSz( z)Xrq@_nCjc2rp9LXaXS%mGW!6d-m`BGi6SXtIKw^=9V z2b^1TVGTpy2ba}C+ZbOQU6aM;aYWrqbAElkt#pB5JiEY0U&lkSBBHz(dj6RjEn%{` zY|0xoVZYd{4O8B5wuLx&y8Qbar{+=Yv`eu`IzV{$-eZFLuA8N0{&7W|{eR22@o;;> z#fJ5tD_`8avu3K|7N#oKCzg#BY2D8>ip5lD!g10=Ch0c!0()8S m&7388?+Cl20E_!`@v7nv?>>a4IB&3QiaG7rpu*n3a6(Xlr$`S3j3^P6RFfb;`G6c21<5*?EkfL#-Ac?_4*Jwc(vjanl zfnguRN@uo^Vg?SL9n22<4nOZOKYzdBPAAg}DJBJmA{LIt)-1E1Dmav~A7D5kctS#a e!A#~3Rt68Zrt*+t<_ZP|1_n=8KbLh*2~7Yij#^0o 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!ia0y~yU{C;I4mJh`hT^KKFANL}=RI8XB z#Bw5Og3MONHf9Hg6u}~o2A$=i2VOA$Ly@5ydm|*_A{fgJ- z7C3}(G%y(UF|1S+6?n@apdi9!QqFLKDW*?B{fA@25&;IroIZu?MFI*p85J0cSd5mj iOnAzW)fC9iz_9T0;-<5K?3oM<3=E#GelF{r5}E+-+-G0_ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-wall-large.png b/core/assets-raw/sprites/blocks/environment/graphitic-wall-large.png new file mode 100644 index 0000000000000000000000000000000000000000..9e64bad6aa8782012c4d39010a91e85902d79b23 GIT binary patch literal 1935 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hE+r3vS zX*R=xfOx(~XUp&B&#V0S$L060&Hbewr{jbT6&V&a9G_=%Uq{yRl((>gsuzRHo07;i ze>Yrv=e+sOlwig}F`I%HooRoMZ(Y>F%r2M1CvSiCPQ+fHx6wVK3l6pBAGHpv&(5E9HG8_6%MOS?(uMZ@`m%`c<|1z=Plnn{>}yMWc;|Tc^kgwEWnf8<57_~dr}nts8)H-_bT zN(lFY!xBqE4qQIJZ(f`vm&%2tNdoTsSme+C{_w-F{G#@OW`)K+&w0<*bK04Ay!m7y zlsrYK_rm^)?5E9Y`@V7=)j#@Hl)-K)$BPd);`^_2IICRgvr~BRWheL9)%kl4AD*Vi zxpe!ZgG?IJ7RkzewsB!Bcz!Ob+DH6|hU(11Hy^`qEie73>LnyF?WnvC!;icJ`Xvoa z89h6S-~R5u)jr3$XiLR9kje-1cE=wrJiAetvzc{I*~7hN^Me#)7(AQ0+L!z7J>$#$ z{F0I2R-qkIZzmmaFDdFg5@`_OprfMQqWWcarSP7;``6F6x>{|g?M zDFVsioC#Uky}KDsbY1u;qMsMDKSXz7nOH-7=O&qqb0I7ao(w5M7V{>SrztjWf0pyO z^^NzeKw}1zRrUYs?jKpkT&P)4^M*- zk$a?5!1!QirC&1(1CzpJ0bl1Zmdy?V?P?wGh0Oln%DKMt+vGJBX3=rwJ7bw_mS1FQ zIFjscDr9q!NBqDhW;5$3wxirf`*!~1VL01#kjbMjP-vraN4Df0D~-VRUhakS*07{x zJW-yNIB)jxmWxaWSR2Z(lnOo)nsI7r>Fdoayc_!WJT97g`wEMW-5!gH78eA44Q9o4 zI57FP?qqR`*GM#rljW}AJXCD*C__bg7OO+tnHcxyym3rk$AtR>_MA{*U_BBsli|Wf z5qV9|0>%eS)BN>6hn&t}44CwwwZY9;iSfX13+1K7k1ahkCVIXQT5z%5k!i-ii9Su@ zOs1O|7z2bJq}*pvY;-HU`R~xaqdFfhwr4R$eoT@QQemhxnRIqR#l+61yBv?~;j>*5 z{%>(qga7rO89ZXS z9h}UZzjxl`*KYc(Y;#?G;g@NVstZj1YQ{}bITFb*Pe*}a!iBGgxe6wVE_KpeCZW4v zSw*07Be!a(lBp0avVYEBjH(Kvd|P*050%)gn!pzh|er27)j2N%yv z-RzHwmWsPy42-kmzQLZ9v+!}E7Spa}D<2eHvA!(yK_z_sy}$Jf51&tG;xuuw^au*H z}dL75}STRa$7dj zge5AhCok>W{ik!@tcL4ZDit+JzkC?#Cinb3tiX7$bH&VmO5O|D>M9aNGWVrCnmX@z zIj2Z`(gcPNer+QBb$Rkf+$?%mTP`zDaOAD$+N6jm>uX>W1g#P{+aZfyr1hPN9p_%JXqFnGH9xvXwV{~K`n4H%T>Eg5M;qB@9JS{RGKm2pv z!0gz!r~0qn;m^m<2X2_MMkKP2&6;6}@J+!N3mG=auqjjdjrG9z5}lqA~Y136Ag9Sp7+ZI-4%?GWnfZpZ!pj?ao}TM%(7-$&YZyT zjAI6~L&K~-g%=D043>|6e{W}zE&O&uku6eH*r2ZFy^e>r%mXiB7fS|~0!tTEEO0eNOas^J7>2hPb8lzVdD95|L> z%)Il6OJT!QZz~IniJz^_m_aU>pzI)F*?5S-&UnIQ<}PN3k8Df}ERLo#oMAL*I4gMK zmm|YnqRQ3JgZfEE}vCST687nLW98)>%QdfMJu2BuF;puY$t`Mump87c6(|4 ze=+SagQ9zbOhQg7PjKHXHU|c=BMVwudnPij$YMLH&eP1}%Ck&D-mGi7RoOoMKt zBJ+f&FBqN(l(;J_SC#nj^DR#gC%eW@1{MxWhVb1CcNt$SY&csaaG-!;&62~c4mWv4 zrYQ8xxxTTLNkjMGBEf4%oY_H3gE51PvUHQ2kU_&6hLnai@|GeW+8C@D zB%691rzxgyPp(c|lJl6By7C_B<%(a_k~2u`A) b#LFPfsK)t3BqfG{fq}u()z4*}Q$iB}k;NB= literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-wall2.png b/core/assets-raw/sprites/blocks/environment/graphitic-wall2.png new file mode 100644 index 0000000000000000000000000000000000000000..8303b5dcb9915671e6b1ceb3adad9e434387644e GIT binary patch literal 847 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANOKVxBIJAr*|t+X_Ga&|kjf z62qZw=g#p~9aAegdM0KL6K~9(7#@WW9}l~;F*-5|OwMbFbn#jB@b>h4o+B2I-fY~= zb6(!QJy|nSvrCq%jNyccQy)WQA74V>!Xt_W> z2tyIa&OV1ih9Zpyh7*F1F6r?E6@60BlXw6X=V*{&Jhb70fY{}vihnN@yObRmW;>rK zWNBkgV0gwcf!Tp!wz5M*tLv19ANOunP?MPOienBR1LFi`hqlvNGaGhD^jTCt5r~jc z;SXYGR&f9G@3XW_Ys)6nIQ9b!CkiI0Dll+yO1QBpR8FvxXmC~3kUeN%c3j{og8+jh z-zFA$hLg=#8X3+oo?v()P~!fe#3Ao+P=S;4xiW>rj?*46E0`)xQnHx3z?x|_v%|E* z3>sS}Kk9gYU;faRM=U26He6*?@Se!n(f^KPg8xP5$JefIJ#njmX_71h(~CZ^8zX$0 z8XvxYpPta{*w)-6DbKL7k#UV8!>QXRmdf)a6ti$F5I?NI{lSt+g`YV>mVqlOAWZq1 z;DQ?eHOfy!1&>;BJSbt{cu>Tm(c<9P&$Gdj$yVfoE;}O+d&4GyH9uHE!5|?fwZqF^ zz@eOF6Z3{hJ|+!5hDbi9{P=kHLKbk~o?s9ORp^nCQgACNTQ3H!vu=H|Vr82JkT^KKaDN<{&CubjqDggO6dSn5BpV z!+hn0mrRlg#VjX$7RfL$EwNylqE=wZbW>4*y+KID%zZ%%0}m)p6?zRCv{ec$nOG9~ z8fG@16^xK&U_Q}T@%az0#n$E^8;z&R%r$*G%7rgwG%}XBKPY8@y7mc&fLj^I2|)#( z?nzILKTEEgbGLB~FW-d4O$(SmFqXK3(h>Xi?~OAo7>hIlo-lyCzD`S0q;c zYX%mFK8D1YUcm`Z4I18Ytg>KWo50)7m~uLiAyPI}mVxO+Tk>WZwtclfj~zIA`X~d# Zy_}b(x9+F$GB7YOc)I$ztaD0e0sv^ZD_j5o literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-wall3.png b/core/assets-raw/sprites/blocks/environment/graphitic-wall3.png new file mode 100644 index 0000000000000000000000000000000000000000..9fa475decee36f4322b8956d4164648ae85ae6d9 GIT binary patch literal 706 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANM!ot`d^Ar*|t+X_Ga$bbFj z&VuwDBZV1}ex6GoK5p;lVQOOHVP-tQ#}H`~(3kM+kx0gaM^Bk{Hfp%r?D;RSrZ0*w zO-yid){k#brI|M=7fAALl96n5`%nl7g?hOoP?h~Fc2q+vA{M7X+;eJyM&n6Mch93%r5(i#4+-Y0N^NjBx&vL#s z%`4fNCn!5eL_cDQ?Bj8m)~MskreG*>;3dO^rv?pY1r-|Jag>}+Y|vqE0Lj=@c{DI= zQl3!T#^X`eFxA`Y@Mm{^$t6#oOgww=B}YU^LNPasKPu-E+mH^DK&hg*f6UBSJzMSrUWZX-9^mj2m{aFvj%l zC@t0Xkm9*#Q_p;k^@Js(v_qd*NyBAEh!-X@+POC@VwtWSAk%PGV1jaj1e=51akdRF z+Zh+hFfje#X=I!r6~kaDHIZ>$fCDF^1Vbdlp&dNTCm%BH_yP*fgi;2c2AxA`3LZQv z?R*J4IpiJ6S>iyEr8J@S1%nFPq-Mq>op#0)cYzWHjs~5k#0f_Y7?KVf@H7Z%_~`bq zt#o8Ja2I&WkiuXjGP_ZMVUvtB!%N3w27eXYC%j=0Xpm$x=3ps^?Bi|ta`?-nrwkGd tk}QXpFio(VpsZ2Eu=K(0>G?bi;S08=ZJ8Rkl!1YP!PC{xWt~$(6969N_`3iA 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!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U}*Pr zaSVxQeLMLeZ-asW%l97Nn~i59c+cKwOnu4i)F;8;`uO3w{uTpfO9rQZeHES8QmsFK ztz#+VypSYo*e~$hgnvWVYUV8dZ9!)o^e3wEB~~%&Z*+4z@%Sxc!Y7gJoz)G~m}U1Z zbbTfCLFJuTf~fnYXY1`3hQ+W%DBtVyVJsJ1yR=2XsYtKBQqTH{(y40<3=9mOu6{1- HoD!MVA$p9 z;usRqnw%iPx;SA8vs+c9$oyT8?TzXm=J31ivS7HIRN}sYr{(C0hF5$F*ODg5I;=W) zgsI2mLE_Br#ECol%&+RUsXA3~By5&oi;KJICG2is;NZ+K|LKW_sJ@1u^BNl)8#_gM z_1EVtUGU|8wt z;usRq`gZDR-UbB$7x!d-kpmNzmqzS%=ib0&TlrwWcZ9)2OQ$o{r~MvnimpyhxHhqX z;YOCdNtEmP{?C&{JsSU3ui~g=bz7}uqjt%qf%(}ojR5ZaO-z{<6EqdY&*j#KHE^wO z6=SVxxX&W1;d@_5PV@z5I=9CW!4tOok9=u7(BZ>4so~1MlT4EeS&}Au`N?zqaLBZn r@I(9y!~UOP?8^>_%wXCtQo-PP#^9=|mgFJ^1_lOCS3j3^P6V7TPz z;usRq`gWSNP=f-G%i_bbHVsRcx_^8#Meaaw#?zkp3Z8dn9MhecC@*xv?6So=krif_ z=5%Oes`1wz?|WYPkx@gk=<^x@orWtC3!`}>&Lp}oFs)CnVZJa!xyPR&sCdaoPKMkw zxhuA~eN}XtVc%>1JGf>}!r!Zt7VlX%*Gqn%&=&D4W(RA-zcR5L34M6?1AD`@237q% zY!mMMUA`xQ%^{U7m{)VCeRA zaSVxQeLH10?*RoKR?jK25)G3k1mdKI;Vst0BrS1b^rhX 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 zcmeAS@N?(olHy`uVBq!ia0y~yU@!t<4mJh`208nVjSLJ7jKx9jP7LeL$-HD>V0i24 z;uw_V&UBd-_HfC3lv$f>TfRh-}2K73+L~f z>(cV%(Sn~9`(m#b)$X$o`JH(qcE>c0P5~<=v%hMchqi3ZvY8wxeoAR^-r5t4`i*Bi zIW+Qc$4|Ha44 zx)uE?%}Ujdb7Op#uzs5NgH`xs+wK!je>UwodB#QQxpT|fsr-}c?%oPp@l)XEVi%2| zrkt5;cc?Z^GZpUiJ8Ck~L(=2nFN;1u@1qyWv%hR^6>#EEY`O7)?Z7lQ+nGrwe;61T O7(8A5T-G@yGywox|A$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 zcmeAS@N?(olHy`uVBq!ia0y~yU@!t<4mJh`208nVjSLJ7jKx9jP7LeL$-HD>V2t*3 zaSX|5d^`PM?qLHS*ZSt13)N;G;U^euZ*ohC8oWz z69XOyd!A&olD)5Ud57NR9oPDJYa*H+yF7Y+`TY8dSnr%Oj>1#CmWZYa>R)i(vNrLk zN>Z+N=AI`81^1&iI(WJ1K1w~o{7zfx=vEKEtFt>dL{HW`euXri~rJDpel7mRv$m$$UNe?8yA{*~>a zNhbt3F4TK(J-pV_?%2`vJ)ukm3Wp{zNOf;eX=qdO;XL4&y>Y?2t}jQD!kHDqmRvKx zDwlsb>Z+^P7Ey;;6Q^w!G|+$J$Yjt}F_A&*j0Z30f(;(JoC_}WToHLuVl~&V{h<9> YwfXb^KV?11z`(%Z>FVdQ&MBb@0Dw`n!vFvP 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 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEk44ofy`glX=O&z`WVh z#WAE}&eLe?JZVD#S#GuxhSGH*D+1PAv*ZQsK0S9*^ba<-cN_kSX@#u3%ot+n>eMQA zcK+e14{942y?3j$^?z3X`sMfY@BTm9zoxMkA71pY;KuxSs>kncI1n%MZF!{NMu~Rg zp9y*@It&aJLeCnyIRjMAIC9T>&HuQd?QLG=S0-1dPO%@6VIrEJ{RF4x%~^0%#=?E( zLc^~z!5I&D85wfz7P`Kuo+0DO;9$)e+5OV@)aEZ6CN%tQ65aY?@0*=h<2OhJB+HyT zyYSMc$#;}?Y?S+6?aYo6GNf%Cw@8CGFFJW(F?7vM5Cr%J;b5+-1%!xLcT)Fli@RA| z9@{hA`N3v$eer|~wp>^GjJ%w#oQ!(LCn#{&GD~r)+mUM+k5_3hKN zH}UM6?rd60DGpZ{&J_pWpI-9w@!u6(zkYpl>brjI>j`rwwFQ>$+=3#UVkwgs2p!05 zRCN+j+HgudL8!{wmFrp7geG;LsJG&i4}29{GjmDX@_74wwX5<&Cy1?0t-gJCl1SHO zf!sANt3thlJ~PZQN-ogK`^bJJB5$IcaA7t>ga22{wFkQOy1O$1y~9^jtDTs5)U~ri zZ0nRKlTBQ9uzK#+6`VNJ*6*6&BeBJ$6Qa3{xbLuR;bN}seoJeH~@$YxOqCZ9B^5c>fCs|fpP;K3OiG6~W ztxkYq$tk+$O24!5Q) z-FIYkWff0XYpyKl{nYbbMqdAY;i0d34Ou0t*>vYV7IPQ>s4X&!m&#JCj{+Zh$ewT->-27FhM;V2cPC9*+ zH2rzVPC+|+wdvto&z^0%lU-v?fk*{!c!P+jRBUBa!lU)PS+Bt7anfBd8dCT_v_Sq)5`9gzYG giD4`OQ6Jc&4pzRAJjtcbz`(%Z>FVdQ&MBb@079(K)&Kwi 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>VD$5J zaSVxQJvz-+sL4Q}RrxUw`v)d5kuP@+p3|;S-^*%Vu*dnAh)76@jKWkgDc+N6H^l|w zj{2Xd+x)xiRorY>_9kz$RT38mSJ=`nnF(G1ovC+fQ zM$R~M)yR70#A|=A{os49kuBoSd_MRJb7}CVdLOS>YfhdtQe=9hWqM?RP)kkXk|kot zwRjUxpLSTaZKcnG)QB2^g>emx7Vq2@6!;a^e*ZU@fAXZjxP!-^5y7{6YcY!pMJY2gVX8wCd;DlzfV^(G~Qr2&{o0tuy@0uNt^cmVPIfj@O1Ta JS?83{1OTssryu|T literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/regolith-wall2.png b/core/assets-raw/sprites/blocks/environment/regolith-wall2.png new file mode 100644 index 0000000000000000000000000000000000000000..55991d3c7ec3319ff9cbf6fe7974e268f5acde82 GIT binary patch literal 397 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V08C% zaSVxQJvwcpV6y>_t7xA!+X*HSkuPT^J~U#JF1UGcFE>|siQIwEAl397&lATCR~1<} z>c_`V%Ul2aF)zaf{_-74v);3BzLm|mt|{XXd)n4e$EdY3J;CC#EdoOQKlV?oTE)n4 z;Z$Ro-=Cs4IyTc+?a*dqJ;*56DC^p-sx6teHOEp(_@ALi9~mEH3^&$>B^1U@*U zJBz1br9$h0kP|@-lZ@Rtg%ajieQ9FSxUH$tFn>mqMKG5bgSUs{l5;#f??S`_mU;vx zvOD|@e&>_r!KLNN$m5iBVo|su+r~4|-}nM^#4?_i%}osZJ$sQ%j0vx*p`Wa#?X`JP zmM_@<#4f6BX!79nV!deRp!#^q0tF}ME}H|nE<&n1-mAK;DL+g{zn(jU}*Pr zaSVxQeS6)IuR(!_^@6_PL#;P+nh#gXzJKs8bWTZDkm|LA7xeZk^Za*IY|Mut<&9CI&kU2x^iF6s5@2e=dE4h3@j<^8jVb+MrMBR83&+&nDI3=9kmp00i_>zopr E0GuU8!TV0hx` z;usRqdi2_9-opw!Y!5_2lSJRWnP6xX^8JL*v`$vkEJ*nIzi@kTqz+Yi4+K8rt9 zIO)i*yDra71Wh`Z2AC$OD1C6RdCc-*N3y7c)QRjJj8)&Ag83B$%p1%ywI8u;Q1iB& zwZFA*A?qhMral3#bt~_FX9%D8NMezqe@7Po0!34n+b#EAN1Cu|xUA%QWatumQgor* zVeLbk8iM+&=RI@15;ZfCUucyKPr^#4Q-xe7j<>Q3dNjFYDEt;(5Wkxx@NbXJy}vDj zjBW~D!54%BWe>-79Jjr|d{9qGzeVCf>jJGmj8CT~-S+wT!kvMEfx*+&&t;ucLK6TP Cn|J#F 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!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U|8en z;usRq`gYoB&I1ZOZEHnhj_xil*|F}j?4I3S%fAJ%tn}b{qIhLa4a?u2dXw9wa@!pv zx+EX-%{r?0qIof^LEFEO3 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0wq!ax2Y5O=D-;yvr)B1( zGB9XNtet4v{Y+QF`>L`MFj#ZX4sIWx=112qta3aL|i=^P-i4{(|nI zzRPPAA8$HU*}XYz-KJ}{Ke?MNYg1>wHff)5KxvwSV@s2km&ReYp0K$h+?u!gtADW1 zuIr59+Ub?>B*KAJ>d7+sKm2v&*-zEg?<`4>c~Mt5r(bYEx_HJFndiT66iTT#{FmHu z>GnS_*%?1o_FlWT$lW1BddH5u>{D_DJDGWGBsXcAtJ?c2&S$@O{>AJ~4nM>=*6iH7 z^;_XDh9xUkKjAGX;OG(4sJ{F7?%uh3|5h)%dY|92r)a{z17EK(Ffi(Qx;Tb-bgm6E z9H-dnyfCjRs4C7au(hgL3@8Sf@zs zW-+;;?a=HXeQC4sGPk{FCSQ2JN>HXqB7srluA-C$(<;T&3e2}kXNUwYKI1giMDf#9 znWQA~(>*zt*VH}fyKgHNB-=8>$0(=ft+Twzl=}LNsS79lUbJy*7awo2{-&%yjLI!F W;)|AY9cEx)VDNPHb6Mw<&;$UJ&03lO 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0wq!ax2Y5O=D-;yvr)B1( zGB9XNtet4v{Y+QF`>L`MFj#ZX4sIWx=112qta3aL|i=^P-i4{(|nI zzRPPAA8$HU*}XYz-KJ}{Ke?MNYg1>wHff)5KxvwSV@s2km&ReYp0K$h+?u!gtADW1 zuIr59+Ub?>B*KAJ>d7+sKm2v&*-zEg?<`4>c~Mt5r(bYEx_HJFndiT66iTT#{FmHu z>GnS_*%?1o_FlWT$lW1BddH5u>{D_DJDGWGBsXcAtJ?c2&S$@O{>AJ~4nM>=*6iH7 z^;_XDh9xUkKjAGX;OG(4sJ{F7?%uh3|5h)%dY|92r)a{z17EK(Ffj6ax;Tb-bZ(ut zk@t`TkE`M-rjnOJ7cXACaB%~pv4NuW1}CdsYbJ4P6%`B?2~v3#mCY_8nw+ zES$8GwL$mpXFiz?dw*Y2-)(F>uY q%v{Y+QF`>L`MFj#ZX4sIWx=112qta3aL|i=^P-i4{(|nI zzRPPAA8$HU*}XYz-KJ}{Ke?MNYg1>wHff)5KxvwSV@s2km&ReYp0K$h+?u!gtADW1 zuIr59+Ub?>B*KAJ>d7+sKm2v&*-zEg?<`4>c~Mt5r(bYEx_HJFndiT66iTT#{FmHu z>GnS_*%?1o_FlWT$lW1BddH5u>{D_DJDGWGBsXcAtJ?c2&S$@O{>AJ~4nM>=*6iH7 z^;_XDh9xUkKjAGX;OG(4sJ{F7?%uh3|5h)%dY|92r)a{z17EK(Ffgimx;Tb-bZ(ud zD|X0$r(w5|aihj6jf&zOk}_@51#EsNcy}=Iwa=S9*JaA|(wFf<+xG0;Zsz@2_3!Cb zzn`x8acOH?(zjncvofUmRE{mYd)hYJz=TQf+=UhAeV3j%z;Hn4Xa_S(kBAzlfQQIt z6$XRXOahD5*o3@xc>EK%{w`|s&HVCfCjYC$y&^A1T>f&HV^*C+smHX+@B4qTnHoM> z@%{K`-nX~Eww#&ce@|)op51zvERxw29@{Qn&U9gqJpVOY*JCUvVv0T9>qkrxWNhGe zO!Qc4#C$<@>;0gfPo=u6SF$$vEb`pI__M|77{7!4$(Wf&9)?b}cAO>YXO?l)biUsm z5HI-ujZvVp$;HnzbSz3bH#P36I=O`D$nBnqjcYVMF6#&i5PZz7QQZ|7JfZ(K0|Ntt Mr>mdKI;Vst09Wok44ofy`glX=O&!2I3Q z#WAE}&eQ1KdAAKj_7*aWd{oQk3|P=CTXEtE-(4&5o14pDO#dSNOaA6($y-bk+tT#= zj#aJNJ%!QtuDbjtL0JWdlrEFXiu+5}*Zu!d*YZC?CtE^V?cd?Dz4q5_&b4{|I9Rq< zUQ}@MvbPu7Hcl{LWLV%K!F(@-K{=5psNk)=NiO^9%F<6vZcU%X5~KC>A03lDr2VyL zft##`^GxTYKZb1+4#+VwWSS|aUV0v2IfbF2M5su2nTh80n8nJ9TezcsOx9m|e&x5O zDGc(yw^et0o%IXqUhwPL25~JWnRA{_nlm^~G)4${-DDDGT&NqN^LqRKI}6T@uMD#Mx2UcxlP(ZQ8Hy z>n3kzIr6KX;l<6if;HZX3wMZr;7!%x+~^i&TqeS}(YjrC$rcrlj&Dr<=Vwn&-@f}& zo~_-TufMFAH6^bLxzzsn^z*X*s>18C54P=kS=$%+CAPdFw!C5bS?!uX)h&^>s{6nE z%VX1@eLb#z<^47DoVNdW-WFVI;j*$JMP~N4=H<_McPIDrmm9{kjnP{~-mZNnYNhGrv}B*m z$|%i~QtT~?#T;HoOusR__SU_$NGXkzVMC{#s_4T-cONA!(O9Z=WS1k?jO-`(?v}RS zd%kdY$-B4Pb}9a5c<`<$%-^-#J#j)4hpOS7yy90=jH_hUD7ommtx{O7k|H&O(_?19 zj@7p|Zunj_H+@zy^>7WmI&dQNvuq>G5&z z<$Gc#9LaSNV`BJn@~mZXeNRVDoWpK|T%PzvPx{UpN;8Vx&snQA-A31FB}3Td#RA#l zbEaz+T1{EPG~@N7J2O`^7tD;aP;`GWq4ZFS=maANhS*)wN>lW@1lF!yaO)~d#wHU! z5zad|8(n0|Y|^(XM)n_971|NI|3~!bP zot(J9q;ZO{^8US7RCBm;%w{MnY`pS5h%d&Z_Uz4stdAFO#aF9N?=nhWu!=oGRWbbP zwV?V1zgjq!I*77+Y(M7x_gO~AeWRJ14;BPX|JJOXX}8d^cb7_OX1CwL2iuRfH>CLd z{qrzZ=)nTTN3p^W4hR}@FV9fP& zaSVxQeLLMY?@$2Gao?8?yIJ!D0@#=7f?dry@FA{W^P+ zf8TuXx*?&n^~cZu-Sh3I+&q8%BUAa7<<(vG3=9m;CTkr5nC} zGQ%0Wd*$K`4NB(|{%(`vZ10)(@m2wA>gAnBZR;Ev7#iMR&JVdD(vhBRFemHW@^w+4 zOCNl8=1tK4)FZm>K-J%yW^Z0AesQ}~tl50&|05ZV*?POUUs&p%TfwH$qT-}zv*<@m zfzY>^9IRi?HQ$Rr%h0xgqj2VhBaCx)FUZ-I7#7h~eEvmoFx!gOs(Zz6<;b@ zD4?kz;}XIvQu%C`5O37owvCRa_O~pvczrAjR5&i1J#ko5Fe#ot@g0*)#;P+{LSNr+ qGkkPw=Iq*8o&x57&7LUyV+^P`D0uVQnJ5MZ1_n=8KbLh*2~7ZX!oUFl 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>VD$5J zaSVxQ-8=mtZ?gf9>)ln{3T6#m#=#+bzu#N9i@p5VgPsQ70JjYNC0@P4IqJRn3Q6{F z@}n*H&f9LD6K1aZWLxpK4vB<_Gv5>C!e<;e)jq(=kPyMMCG;cnAzgM>9nGiPS@P6s z`YaFbOfP2;X;IrDlBDjmrc>ha9QEA|lRG7PWtesdD6*FZZ*p+5n{=j8fm&QYV@$Ti87vv$#wIiZXJYK;MFll59yR4f~~A8kJV_g6gwccbHygN#bM z4>U2fyuSBUcuT0Fw2P2wvCDJmxPw9-(OpL6oq_+3>~;{EacjYzopr0CX0j_y7O^ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite1.png b/core/assets-raw/sprites/blocks/environment/rhyolite1.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a96a0596c845bd10c40dd30ef2ad0125663432 GIT binary patch literal 706 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0wq!ax2Y5O=D-;yvr)B1( zGB9XNtet4v{Y+QF`>L`MFj#ZX4sIWx=112qta3aL|i=^P-i4{(|nI zzRPPAA8$HU*}XYz-KJ}{Ke?MNYg1>wHff)5KxvwSV@s2km&ReYp0K$h+?u!gtADW1 zuIr59+Ub?>B*KAJ>d7+sKm2v&*-zEg?<`4>c~Mt5r(bYEx_HJFndiT66iTT#{FmHu z>GnS_*%?1o_FlWT$lW1BddH5u>{D_DJDGWGBsXcAtJ?c2&S$@O{>AJ~4nM>=*6iH7 z^;_XDh9xUkKjAGX;OG(4sJ{F7?%uh3|5h)%dY|92r)a{z17EK(Ffjb|ba4#v=sY@g zui#+?o>tDn$4aa#=S<_Ap_H7m!si)h%;k$g%TBaj{;15^sK36M+0K*y;M2cV@7x3C z7F{z4f3@za=bsrRT`R;l%QrS(EKu-fRezbIVgAv{Y+QF`>L`MFj#ZX4sIWx=112qta3aL|i=^P-i4{(|nI zzRPPAA8$HU*}XYz-KJ}{Ke?MNYg1>wHff)5KxvwSV@s2km&ReYp0K$h+?u!gtADW1 zuIr59+Ub?>B*KAJ>d7+sKm2v&*-zEg?<`4>c~Mt5r(bYEx_HJFndiT66iTT#{FmHu z>GnS_*%?1o_FlWT$lW1BddH5u>{D_DJDGWGBsXcAtJ?c2&S$@O{>AJ~4nM>=*6iH7 z^;_XDh9xUkKjAGX;OG(4sJ{F7?%uh3|5h)%dY|92r)a{z17EK(FfbhSba4#v=zKfv zEaw3Qp4PQH9Kv6)?EP{r(`uvejwbCd3L>3`cJ*9hQd~;~?mzd=DcE_=`Reg~YdvO_ z#x<{e=~W literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite3.png b/core/assets-raw/sprites/blocks/environment/rhyolite3.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ef1140048b45f4b672df9cd8b1670fb7a8c96a GIT binary patch literal 687 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4kiW$hCdQ-7c($0wq!ax2Y5O=D-;yvr)B1( zGB9XNtet4v{Y+QF`>L`MFj#ZX4sIWx=112qta3aL|i=^P-i4{(|nI zzRPPAA8$HU*}XYz-KJ}{Ke?MNYg1>wHff)5KxvwSV@s2km&ReYp0K$h+?u!gtADW1 zuIr59+Ub?>B*KAJ>d7+sKm2v&*-zEg?<`4>c~Mt5r(bYEx_HJFndiT66iTT#{FmHu z>GnS_*%?1o_FlWT$lW1BddH5u>{D_DJDGWGBsXcAtJ?c2&S$@O{>AJ~4nM>=*6iH7 z^;_XDh9xUkKjAGX;OG(4sJ{F7?%uh3|5h)%dY|92r)a{z17EK(Ffcsxba4#v=sY{k zn(wdzPh0dYRcCgqrP}HVFRxvGa>UXx&1`*-tkTj+2ah$ZOmgiKy7}+N-+-c6yZ7FE zE7Mi;UbDHqnB~TGKJnY_y50l{mXLIbFLxA{@)aZ;V|vn)G}WU)?D08vWwxo=cN?sD zmoGTs+@rH^K|^B7<%QGl-Msz!BaZ;{k(+*@OK$oxD!mt0_~+%4`Nkw>QHZkeo4IeL zE>F3h@Kp0vO2@G+?TUAqy8`cg>vGM$9Ju}DVMbmh5s?qM7LlF*7*A|#TzToINWiks yuE|1y%OV%)MDJvOSwH)n$kG{Q4Hx*1iR-t7Jrr1T=oSM51B0ilpUXO@geCyc13z>C 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U=;Cm zaSVxQeLHm{?;!^sSKcJyZ3%K&Dq~$>MAL%fBm?7I@cN2#b!nyEW?y^ zqB2#PzpH$k$iQTn#F59$YSW=tw`=}F7H)o4fe7(_m4G)q7nr67S6=Sh7tAEOqb*Zm zl2^VXi@WRZjk9NDYfma^&`o;y%bc6_L)%$v+gq$Fg10bC&Jk4X{G^nWoPPXuk}+fT zFSTxtwRd!`YJ1!2oXK_2y|!>(a>=WlS;n1e&NJq2+SKIDbdy=+;HGu5S_Nj3A?j}q z2vwM_dpRjFYStxzZEf8w`HgQ6Nqx|*pU7Y0zU{fBK${r@0|SGntDnm{r-UW|cRz+2 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V0hr^ z;usRq`gZC@-a`fguJ&sViJfuoJ;J0J!O%I2F({p5+k&%F3$0Fiy?ayt&DH79daucQ z-hbZCT=H-3VLAEQx;EE&>z7ww6O>b!YOLtQobjn}79+#^+uo(EtS3&g>K-xFaV0h%| z;usRq`gZDB-ev=y*7)6A(FXj_ygpYttlmHb1o}J$^|~Aoo+R$I;L)mp5d$U+|yc zEBlt=?VWUK4qwM?;fsfZlq=%QHXq`any}=x zV3vveZu-prw8I&ft7d0rT0H&u(bq(({xG{>N`|V=B>hzk3=9mOu6{1-oD!Mk44ofy`glX=O&z|`*P z;uumf=WUdA-eCit)E*{F=j%+Yn@UdI+Ijp1Z`I6ur*}6pL>9C8zq}-}$}4b*OJ~nj z_LL6$O+Ws8aS6OvyKjH&L+SR%a&Cu3{zX2!x=KE6#v|s%6F;;wG;H*k;rG0|RNlvs zkzvj`@s3UjS62Qjo;@vV&x-8lu$Zg=;m;S3dmBuHJXi}hp2;@lG~Bq?<8JMqeKC)l zEky$~URIpSx5&MEhkL>dw(JdOR-bTKnO*$c>pgFy&;mnKug(eE)|SQwF-HA#d>h@h z{-T=b*9HO8IsqlQ$+n+)PVsNr%#fb-+QbsU za(*Wt_ZAn^CjuFQdql1jT#!)nWUb(cW47En^9kd;X~)iLJ575~(Hp6DBZ^fk^x-uv zjg_253MaKTa~=4`YwBoO!@oWuy(wy|BhR#DJ62vz;QYtA;a!924VH|)|JSA_cQ%%V zI>=P;D;2%iCbNubtIEM%_6XiiJ(h}__8RvjU$Js8+9mKH^QZLUoA(lU^i@RO^KPry z!Cvy6p_hNQ$-yYzto2N`ng^HY&p@dck&u2I_{x%}$%EQVvIj_*F3{F>;s z>5AxtS2|zCEE%s&dlDpHvbk$fOu+SRHM_T$9g-KVASw* zaSVxQJv!Z*ui1d7jo0aweA zCavW8Zl>qBqu9Z?$0Uj|;@&)CCCTIGC#5@POuIQdDY+) zr{XgQ&W^K*Du4Z#d@FkNF2L8h#&Dm{VC3?2 zaSVxQJv-Hq?~nnH>s_s&^9Qm8*MPkjB zGm-pHtQ@Z{mHoqTp>Oe#8AqZ6P7ALx?NRh%Z2h5Xn#k7_Y$zPHr1SHCFQ+VSgRjot z>w+@>T#WHQu4?;akHgmKyQfHZX0hC9-*L<2oQeY10?Ag9BvwJjKTHd!T6UN*o^Xs{ z@U?7+O?m6LfNN)jo+;lJ=1KKUp_)I`0%e{%U6k3-u)*>Hqth${wu@em7i!5}C|SRX qQ&mAP`heq(wTi3{XE940;jUWUBFLGPxtM{0fx*+&&t;ucLK6U3HiuyV literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone1.png b/core/assets-raw/sprites/blocks/environment/yellow-stone1.png new file mode 100644 index 0000000000000000000000000000000000000000..3b32cf651a266ccce750388b906a82cdd8928792 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V3^_Q z;usRq`u5sE&I1ZOtO3zn>mJ>ewQ_5J6?ZT8XmGV|hUu*JN=J78?4QwayLN8>tcq_l zAHHVjxq2$Xmi+_oyT%htL5(l+{xEqdYPbkF==M3dG~8Mg!;->l*}?H3R-((JY=I~v zbB{|(`U19#TzY(pOAVGsFVQ{0S}?zBPusm#4IV>v_qVKH3f6s;7ieH$QD9)?Sn#}( aaig4;^{4+!U^wUL z;usRq`gYnu-Ub5>*NZcDbd{GE@U$1{zhC#r(|^_~U8kQnx^1sc`4QjnFUa@thQNcN z(?$L>)-fn8YO{Xx>)Rdu&##y!oN>^Q`(4KB(OKzW!*I{#f`B-~%kvWj#2MDR2{U^r zPFQeJ?Fq|;NUylVGbXrqMkxPUq#n_5XK7);i|7kq*WPkWWSApR&c--FB3SDf&w|3E z5oL+OS1Es?Bpk?*$mAd~)si`^LrIlmp(4X9ojb{~_n10AY)nu+F;{Vc?F3`z f1KtbvidyS0c6?ZLUhfJ60|SGntDnm{r-UW|YzAvT literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone3.png b/core/assets-raw/sprites/blocks/environment/yellow-stone3.png new file mode 100644 index 0000000000000000000000000000000000000000..819599a6ce7349d1530953152c41f14dc94b494e GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V3_FX z;usRq`u6HZ-UbB$)(e+sY~ZrBwrF$SDQ>$uATwP<-{rnMzo+wHUuUa5pN2`bKbH4DqPtKD9w)^RJ2r%XhS0;QM^OgQ55Ux5^~dt?WV2Jc| zaSVxQO-_(tU7R4&(-dgH#U^18lyzWw>b(CKk5(+&CY-D1%6A~ma%Eq_qSmKN7&gf` z=$<}V#$d`A$)}(?QIN^Rv!&!T>kS#Fvlk?xhB$~bFnBhJz1M7AaGimHfx*+&&t;uc GLK6VL6)|K0 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 zcmeAS@N?(olHy`uVBq!ia0y~yU@&E1U@+leV_;y=+Es9sfq{XsILO_JVcj{ImkbPy zS3O-ELoyoQ&a}-tY{1hxbHU>EA}M-%Qchi9E;}(r^@U8z8(yw2EU|l+d#B#$sypF+ zsgQB6rejKE{5+Q+p}@=kFC5$a`QhKM^M0?b{#{VLz4Ex~gowC=Wplk6nrsf7v2tl> zT61ul*xZZ;noV^Xl@jLhnHR*#tu1x!EuPL97#T0~%h0-pp+spT8Dc9rH$ zT`i^tr3)UgbcCGy#Pc?3`7%AlRR>vqMD3mwt+d?4;dkatm#{x#@ctZMW!;ueWgOtkshQ$6pL=JPHV9!8~K-F0%8^-ma` zEXub3t`!^n-1qC}pJ(%SzqsZstnur!`0ihkCIJgxoi`7(eEw|8maY?9+s!+#H6Gf< zG`*>}ckO{a+eCy6E}KqWt)z2~L6v>ky2eFiY%iA1TzXB~L4@gMp3l=)BD?l&={vVz z$BakljEWwLA$|@k#adt3Q-{WPh5?n4{mRQF>iE)~=JZ53X7xAL* v`Adsin-*TT>2_dU`|#Pml@QRmJpP00^OLe)uQo9-Ffe$!`njxgN@xNAI*|Ac 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/payload/warhead-assembler.png b/core/assets-raw/sprites/blocks/payload/warhead-assembler.png new file mode 100644 index 0000000000000000000000000000000000000000..f65306b2f02340eafdb2c01b609e13aec578a70a GIT binary patch literal 1360 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^RW7>k44ofy`glX=O&z{=(6 z;uumf=k46RUNMd$$NQ5K(~}bwj~w9I^nm$B>y%0XYkRqa;T$hNIoUOA;LvkBct}a$ z&83-6$L`2J|6Fs%viSQy$A~@U>FNLW&o#bZZGKLFecb-K-%Md!imR1o{X2beYsRmw zw^$e|>MAasJANxmm?2?fgrC5aEidCD8Wkj!*0jnuFfue0I&a9ZYhY(cm?N-e7QX-k zgMl8$w6p9T3=A8X6W`qOijC2k#=x+le1rU+e}6uFsqEd-m=9{o?Nb)mne~ zU*7%w@@j3J-{+q?ulzd~nI6y#6E=9(A9%%MBCEi!2`B%A1}dmHPx!C6@cQI?Q@F1i zie6>#y?QKV-S?!Hm7GUS59H@WU2A%K_jt}@$*TUgtZb)1-VbN*TihEq;s)M*5txz3K`E_OUVKTy@O?)R^NLt4hQABTP%yiWy=T?iA{HG_9)N79nA*#SzI8KUyNFHXp0 zc)ftLVUrreDI?y7?C7r4nQROW#us+|WSG0ABlGQTor|~DbY#AX(Gz85;%c~7l=6D- zZ_`6gE7%t76`NxeVf`#w!R0!0Op?gqzkwRhYxaiRV%SpiTVPIoD7TT!@?*OCvzDk# zeLsEi>rJYjnxCu1-Df&oOkq8cQWqs8u&rp>^KRWhrkU@^i_aCyE(;mJ;i}B!3TNU$n}5l9=1YTa^LK3t~SkH2Lhr zR!~(K_E*mPnRVt{`_z?;rUFaq4t6Q?_R8MKQCz{|l>ON-bE{qRfm>_|hXOr>9<#sH z(+zvmYarV6USv4L>cP|(^emH%I)3HRxfQ@6L zQGw$Pi~W15eD6Bc`i1%2_XCz~$( z(%oIvC*iuXDQSIX&9MNxmRTzT|H>G47EBR7He>GX$;*C6{B4(+x@wi+wTc7ksn1>c zcbl!c&TNw1l=`#R@OAN#8sGk1u~YNyUKbxpnx(Ku^BS-2S9NQ?3u2|uXI@k0om*t9 z^m(~Tb@)298EgkWUe1)s44B%KAjYt~aGK%_7KOwap&ZW`JfuI e#m@`(kJIcVoz~JfX=d#Wzp$P!y>3`V( 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!ia0y~yU`POA4mJh`hDS5XEf^RW7>k44ofy`glX=O&!0^`7 z#WAE}&fANIybOvA2OJ#adVXC0bYjQDYOYx&?~3;eroC*~pUrTMVGUyh^9HsA-UCt% erVK+=KrW+*X?f=#`&SGM3=E#GelF{r5}E)r0A6_j 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!ia0y~yU`POA4mJh`hDS5XEf^RW7>k44ofy`glX=O&z-Z~| z;uumf=k4u-tC|f2SOY%4`2T;?-8~H++(Eg|j?LTr%ISr{^t46GPBSsUK*7wg*aLyD zcdh$doc%WSuKPMqW7mndkCpvqli#U!F}{>>{w=dVp`X(~uF!kXGgJD$?{DrM+>9dK z@ou*#udgb^;b*h80IqEK6YN_kV)(Pul=`RA;7>O ZUd1%=VvpU@u$YY?K~Gmdmvv4FO#nVCpB?}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 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^R$o_o4DhE&A8z2(@a>M7Xr z(2o1~0|pPB9b8Gw*?NsEYo0SGPg}Et(_OM-+8&X=p%pvapH+vhkDh#K|I051+YO|@ zhFm){egFT@%j4_*eXpN)uKxe0-QFvTyQ*TZREov_`>}lgzfXdy6$gc{yjpaQGt0Jn zJ!_2%XWR#ouUak=Rdw%b0mU>jvF3g+G{Q2c2 ztph?adb94u9{6r;GyCCAS@ra}qKDsJ&{Oa#$ZUI7F8=W^*ZGi&x}zs0(~Ws{JX*mp zJ+z|pZfni{*>4w}^Sk_g_f0P6dl&T%sK&<9+y!=kLz(y$dteRqzVfaEMiV&!0?zgD1}&s9nB$Z+@%w)!SkQ0R`=kB;#z1 zzw6wo-gUqF{fe?FtR?k4(&^#xXS7YW8hy*TQ~&DV@AVQlL#?A&LsZW^-z@a(=cz01 z3;S;_-mHBlQLU)BUFt2sS_h4%t`v2?Zh!j4xmV8f&#nJ(CgI!}*?INh4XSVU zaoKLyax88>HRa5%eUm3g*1jlyFjF-0huDLi2RAi1hB-`m@P|vkcqxM^`?;8zvM-$H zFISy$Ii}&WW7Gi!?E^bS?m9^#G2Fo=L?3|g)$joZZno-AB z|KO;pX+ZJOsW&BS&wT#%eoBHLbNZ9hf4=WscDQ5FISc*di$BVp&Quio@?P27{foJ_ z;#hTv>WpAB`}cpAHH30*{E@}@`H{xK?(BjE?_#f*cZ4!F->p6JA^h{Zn(zkIGpFB+ z38Ih1kY?9G?-67(JlK4kxQD@n9Y?9;oCf83`e{NUGD@G3|< z=3PF+`$KHPfvb;y9$@k_JRo_v-iwhr{auUvnfshcJMOyAJrLk;c;vtwyDbd*m8W*x zSjFOOTYF{p_qzub?6)%Lm!GQHxRd4Zo?koiw|?hp%k+~EYM5?y)SK6hv#sKL;rqP* zob#g^rk}h}()!T$)y44EeMWXm8P29e*^QZD3{57^wU)hL5P;{Q)^nJSZ6W#YueSbhEtitWm)5fMpdv<)t{n%~$Yuz9A zXNu>%cUc5{aObg?`y2k9^M=9hr+pZI#w!ZQ8C@uCTw`QE&B zp$=0PY!scf+Mp-h{@2mGC9=4y#E zt5}%j{GZ2))%|$i5+Z2*tVb^BfPrOq)Pcob1~dE^m%qO{e{XrysTt)nE+_oinVxou z>ClpceX#pn&#zzmf|{)V%vR!(s4$BVGnj4iCzSE#pB#mP>A#uI^M)Pt zGF$x5L4Nh_(C;%N|CZYBH~*8$II~e8erC+s^*k(B&o!pMTlCLCKKWe#)^oK@mWy-h zq8r!_AJD0ZI&i8*JUscq%-t*OFSws^h>lGxcVp-Iq$Ce>04iYb1mp+SG7!O4DY;^J_mCEobFP zI}9n=jNe84y_Gc2eErY&)#rKdi7r^F^XFzlYxtB;^wz|XgFBq(?BC>k=i<=~;aj+N zBsx%h`# zc2Je8E_IIW*=5~_MU2e88QYBB`G7^ULaffs^1h(?FpSaoU(3axnTL1sWp#X(z49W% za(3X<4-=S7t{c9J5idRRQ}0#DmpNx|OfA^W;9JULRo)c!=nrRBsma{4C%h`67|(@% zj=duM+&^&rrP93Pt6FZe&ROs?_{!-IcQjww3VHw7z_jOy=Bv<(ek44ofy`glX=O&!0^`7 z#WAE}&fANIybOvA2OJ#adVXC0bYjQDYOYx&?~3;eroC*~pUrTMVGUyh^9HsA-UCt% erVK+=KrW+*X?f=#`&SGM3=E#GelF{r5}E)r0A6_j 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!ia0y~yU`POA4mJh`hDS5XEf^RW7>k44ofy`glX=O&z}V~Q z;uumf=k2YFMa>30E*F>n|9}3=(j`+GJsXtPuBpCf99HvqM~W6B0}`0=yz<<NxE`UiVwtZTWR_(bI!jTP9C1dvMRKtS6zEN$jrD68>wpO-BRfD!1@% z$+>b-t)y4L=uBC2#|Q1FmJc#Ee=|$_^1S84`UUpg#X?E?iArzQ$nRAUG|Nuc@oKrc zOS0R`rDCn*-Um{GJo8$1yL<2}eC{c?+oJa^D-^z|CkU1b^~L?4VgzO_is1dc za-z}=o}z0Sf;w$GvRXJ^GT#Zcb^6J0=_|+0+4{Uf4p#C96F)C)Wb&97Z}>ifzua{z z$F}CXftpS;=PR8nxcjE;nf%RSq%dV*U|_0c-jLAagTe~DWM4f+MB*+ 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!ia0y~yU`POA4mJh`hDS5XEf^RW7>k44ofy`glX=O&z*yqx z;uumf=k2YFdCdj_E*BU6|9}3S_e23+ret^P-TR*F26=2VHWLWpWIzQ6M54bi_;0-y zb^iDET!g1eq`5t*6W7s;Yy)@lfPTPZ}}iwz?aUy)clYC z`t$QE%WGOLh+f!zYki;X=`F&C_WcN!SiF6vzuoDzEgOO_nCq=`kMwh2c)cN6VsC5B z;ua3G<~^pLOGE;Fe#Bl_F>&q#g<8f**EN@hcQP&6qdG;?VVB;)opXX%J^mjqFVdQ&MBb@0E%0=WB>pF 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 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^Ts@;zM~Ln`LHo$K8vV#w3> zJ8Z)Pp=JxF4%wuWlT_Uu)>twKSs!WoT)@G$G_cL*R{#CJxgnWCCuc9*mGeJ7bdGyy z;m+A>%Ow+N}HrVIaP zJHWx>HzjFer+3|w8@7fOe|VTbI9zb)Y-;$iFsWb6UWkeF028BVsz}pOf9dLJKLQ0J z7&ur~Ys7KL*&Ej`Wt^a(aIoO`ox68up4IYN!k>L_A%h0TG=(sS6GHaPOe_mp9~9bY ziC8(k>OU=DFU7>O!0Ch4S0@K|k2{5ukKCOM?lLasTgz}ka8lVE(E}cK*NP9AIvD3) zi2Jyg zd0*~0Yv>yPCNH7J2cq+v8#?@t>OJ-9>~?BkD7ZUC#cnzWQ({QTxjm1q5UAT%Raty57^lq7c`DYfHT4*DPhLP%JoJ{M_}(a)kwj z*Y>A($1`qeZkoNCO_sG%@rzUTqwNAFAEP-k=6J+*2OCo~9oNzTDG@?pYeg2?ve%CELtC=-f(?fEAZ<6gh=D1f}7SeGA>Za2|Y!c;#ttX;O@Q?Cl=02-}ZxpWnEukW#FTB<_zCisZnkDtB<%VED#SB zytI3(6-z@?f~5U=vHfQGfqCg$^B9g^Tz2F;(~egGvb_u$iUqFU zPdvKbCX(t^!{5NJ8|ALdpv96qYhP5#+DzA(Lif2IOqAQ(EXZ(W+WnbF*84IAeE!0; z<6=v(661qi+UHJ!#4feI4l`j`q9>He)ey4b=Iu92dUtCqJ#>mOp_=t=+2@Y>;0(W8 zOKx>I1?*1cbg*8%x$A$%iqcEVcrOZaTye8uSuj7Ux~XDD&YUfolS9_ZdH6ebFsztr ztKV={sn1NGAqp6>JAc84EH>zYapPh>CT?P#fX$IR* z-pmbso#EVKch?lp=T+Dt%XZ*hlUSMKZVq+vhqgRRZ*NI_F|Xt9wwJ;i_lkVnpZUo9 zC%>-io1;7Gb6+OiiR+8oBNHq8mUkwrw9(qldsQtfy*G)M=AZJvGiABU-TtLMRXVM& z!@e~~3d^0D#HG!&V87G1#hq>L!dpAr*cR|t*w5)^-r*PI&QQSk{`lp|3DDG(Y^5`)`4d6L&4( zeHd{0S9OZOMJJBG8S(ndL>>N1x_AGGiR}=HZ%XLB`sr){i^Ik#{M)0Byzkc()2%bz za{EbN@Sf3b{T|KpC`=Ic9pm9<+k=j*vCY^i_T4$}P(B*Y7@;`F^N%1$;3H>- zfcAS2bo=-ANIX~9;_v@qz;O2A2}_Ga0ge~3DnC2U9aq}N+3=*`$@WPWLM&UfFQ1z~ zQCMrAWP^B9c+Fcy174=8e<$X=+P{=>gOh})yr9V0`H5 z;uw`^c2@Bux;pm+0<5$NLdCuZNPdtNg zL`>@C7MJkp#abder@gMOeVh5q+ry*(_1FLZ-d4Y56o@o>trq#hkRywIRY#P*>i724 z?xJGJITI$d>`1!iYm^mm!6|0v!f(zmH;eS`U{G}t-#H=s*?o&9uj#Xu;$JUabXo53 z*}o6Hem}i=`d0q=^7Yq$9a>Uo=KiahE&Te<4IC5uI1~AD=1E7~kTL9h$uD(I)|pe& zsy)U>biK}N`T|L#++I_F$ z+c4|5h71fc_3}v|l^Jq0VD+A2MYDAbGp_gW=IC>mv|eb* z6$rVpOe{4(;)Znmns=?s2noH@dz@xqo{nca!P)UWKC0LcJ$% z{|4VyJFg;>G>3a-xVCoElk(7>suM-5FKre%%W9-un4u&7@y<^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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>V6^dc zaSVxQeLHP0?;!&LH~kLYOBan?C73$d3>i#?xR)d_F1f;G_sU(H*6-TnAE@2k_VD$2I zaSVxQeLKxCkI7KL)xNsz4nwB(5y_@YEn2*9x2cpK(NxM>VaX_JB3SP5QmK&n-G-Gu zbH3jAoo*x~;*+}8rq2JdWOie9j3wK(BmIZB@xDI#o99b>08% zlsdP$zIMLe>$9(Szw+6|#3RG7EdTr}uYheje`@~hSyR5+wzTZM8n?}n$2oip?ksR+ zHkNq(<2aJqB`o>l@Q==EeX3fS&NU5e z>n8FEofP$8U|TnpPtmV&%7JNfPcqlZuS(&1^qaFG=&&d6=|irK>smza=1o_Tu$Zv3 z>5{cx?<`TiFE&T-dKnb2Yy8f2L};PB+t&-cew++1t?gE|>lJu4{Jgs95aVI{h3YZ} zagE}0#3rcNJkV;4IK;h9jN#MzC9HWu6I9lGnB5_NK$-c@UklcF1_lNOPgg&ebxsLQ E02D~0+5i9m 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 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>VBG5I z;usRqdNgdI-w_9aT5gXsi5%(=t}Ja*;Am<|@Zdf8iE#;AB(HsgOY#rKU+gNTEl-M= z4qknrAi9LDRlg}`cW!!l+4jA6yk~8>oq7MZx$$o9H4;ryI;S`B3H(=_KmGVpsm}pYmpX`1xYb#i&G?4aUn4Ok_S1^k>K3^>1IVIMK38>)o83(xiRy^{c8c|5Ci@ z(b&1??>r^*-e^t}AJo=~j)x%S;si~Cb1m@e3LVcuRZKU;n!2X@&=dBG(NdA1TlYnVg!-Cl4>ML(VK z&YRmQwb@H97O52lYZs-2WP3-5E2gi^SG0Q1y3XZJ*t@NgU*FcQWe8q(Yle#P!MESd z*d>h`tf#!VxAOkVC%dR;W>=PAM7RIH(8BzUaxgYBWUEcMN?+xt(-EDvR1 PU|{fc^>bP0l+XkKGx^}( 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 zcmeAS@N?(olHy`uVBq!ia0y~yU}OMc4kiW$hRXu>h71f0oCO|{#S9GG!XV7ZFl&wk z0|S?Trn7TEKt_H^esM;Afr6*AvqC{pep+TuDg#5st+~PJA;B-jY`@?8;^f`YFvUAR zNR&e%$f>(QWTKjuBBy{?hvLGUqJakmU0qqEPb}zQ?(1vl5e?Mg>EgP<{zP$6U-ROQ zu2a7sRxi%Jw&(k^v;VeUw|lQz`~GlIyvbvLx3(rf_nY4%M1;3f6T0AWQd-kD9X5C zB7=f(YKIF$hBd>Q^I=`C3=swlB5B@7EE#U-G8lMT#JFBV&*2Bohp{DjnN#sh3w(sdU6`)JjJy| z%o3RrXF2E{s+=il)M�PV*|l=S%D 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 literal 0 HcmV?d00001 diff --git a/core/assets/sprites/distortAlpha.png b/core/assets/sprites/distortAlpha.png new file mode 100644 index 0000000000000000000000000000000000000000..06810a4d715c1276bcbeedf7a34641b8fd3f7f52 GIT binary patch literal 11241 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 Pz`)??>gTe~DWM4ftW8}~ literal 0 HcmV?d00001 diff --git a/core/assets/sprites/rays.png b/core/assets/sprites/rays.png new file mode 100644 index 0000000000000000000000000000000000000000..28e281c510b30712e941683bc747e72ad2c37049 GIT binary patch literal 19516 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 literal 0 HcmV?d00001 diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 0f1a658539..69716edd63 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -37,8 +37,11 @@ public class Blocks implements ContentList{ //environment air, spawn, cliff, deepwater, water, taintedWater, tar, slag, stone, craters, charr, sand, darksand, dirt, mud, ice, snow, darksandTaintedWater, space, - dacite, + dacite, rhyolite, rhyoliteCrater, regolith, yellowStone, redmat, bluemat, stoneWall, dirtWall, sporeWall, iceWall, daciteWall, sporePine, snowPine, pine, shrubs, whiteTree, whiteTreeDead, sporeCluster, + redweed, purbush, coralChunk, glowBlob, yellowCoral, + regolithWall, yellowStoneWall, rhyoliteWall, carbonWall, + graphiticStone, iceSnow, sandWater, darksandWater, duneWall, sandWall, moss, sporeMoss, shale, shaleWall, shaleBoulder, sandBoulder, daciteBoulder, boulder, snowBoulder, basaltBoulder, grass, salt, metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor5, basalt, magmarock, hotrock, snowWall, saltWall, darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6, darkMetal, @@ -47,9 +50,14 @@ public class Blocks implements ContentList{ //ores oreCopper, oreLead, oreScrap, oreCoal, oreTitanium, oreThorium, + //wall ores + wallOreBeryl, graphiticWall, + berylWall, //TODO remove? + //crafting - siliconSmelter, siliconCrucible, kiln, graphitePress, plastaniumCompressor, multiPress, phaseWeaver, surgeSmelter, pyratiteMixer, blastMixer, cryofluidMixer, + siliconSmelter, siliconCrucible, siliconArcFurnace, kiln, graphitePress, plastaniumCompressor, multiPress, phaseWeaver, surgeSmelter, pyratiteMixer, blastMixer, cryofluidMixer, melter, separator, disassembler, sporePress, pulverizer, incinerator, coalCentrifuge, + cellSynthesisChamber, //sandbox powerSource, powerVoid, itemSource, itemVoid, liquidSource, liquidVoid, payloadVoid, payloadSource, illuminator, @@ -73,6 +81,7 @@ public class Blocks implements ContentList{ //production mechanicalDrill, pneumaticDrill, laserDrill, blastDrill, waterExtractor, oilExtractor, cultivator, + beamDrill, //storage coreShard, coreFoundation, coreNucleus, vault, container, unloader, @@ -93,7 +102,10 @@ public class Blocks implements ContentList{ message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank, //campaign - launchPad, interplanetaryAccelerator, + launchPad, payloadLaunchPad, interplanetaryAccelerator, + + //nuclear? + nuclearWarhead, warheadAssembler, ballisticSilo, //TODO //misc experimental blockForge, blockLoader, blockUnloader @@ -278,6 +290,30 @@ public class Blocks implements ContentList{ dacite = new Floor("dacite"); + rhyolite = new Floor("rhyolite"){{ + attributes.set(Attribute.water, -1f); + }}; + + rhyoliteCrater = new Floor("rhyolite-crater"){{ + attributes.set(Attribute.water, -1f); + blendGroup = rhyolite; + }}; + + regolith = new Floor("regolith"){{ + attributes.set(Attribute.water, -1f); + }}; + + yellowStone = new Floor("yellow-stone"){{ + attributes.set(Attribute.water, -1f); + }}; + + graphiticStone = new Floor("graphitic-stone"){{ + variants = 4; + }}; + + redmat = new Floor("redmat"); + bluemat = new Floor("bluemat"); + grass = new Floor("grass"){{ attributes.set(Attribute.water, 0.1f); }}; @@ -339,6 +375,26 @@ public class Blocks implements ContentList{ basalt.asFloor().wall = darksandWater.asFloor().wall = darksandTaintedWater.asFloor().wall = this; }}; + regolithWall = new StaticWall("regolith-wall"){{ + variants = 2; + regolith.asFloor().wall = this; + }}; + + yellowStoneWall = new StaticWall("yellow-stone-wall"){{ + variants = 2; + yellowStone.asFloor().wall = this; + }}; + + rhyoliteWall = new StaticWall("rhyolite-wall"){{ + variants = 2; + rhyolite.asFloor().wall = rhyoliteCrater.asFloor().wall = this; + }}; + + carbonWall = new StaticWall("carbon-wall"){{ + variants = 2; + graphiticStone.asFloor().wall = this; + }}; + sandWall = new StaticWall("sand-wall"){{ variants = 2; sandWater.asFloor().wall = water.asFloor().wall = deepwater.asFloor().wall = this; @@ -372,6 +428,29 @@ public class Blocks implements ContentList{ variants = 3; }}; + redweed = new Seaweed("redweed"){{ + variants = 3; + }}; + + purbush = new SeaBush("pur-bush"){{ + + }}; + + yellowCoral = new SeaBush("yellowcoral"){{ + lobesMin = 2; + lobesMax = 3; + magMax = 8f; + magMin = 2f; + origin = 0.3f; + spread = 40f; + sclMin = 60f; + sclMax = 100f; + }}; + + coralChunk = new StaticCoralWall("coralchunk"){{ + + }}; + //glowBlob = new Prop("glowblob"){{ // variants = 1; //}}; @@ -482,6 +561,20 @@ public class Blocks implements ContentList{ oreScale = 25.380953f; }}; + //endregion + //region wall ore + + wallOreBeryl = new WallOreBlock(Items.beryllium); + + berylWall = new StaticWall("beryl-wall"){{ + itemDrop = Items.beryllium; + }}; + + graphiticWall = new StaticWall("graphitic-wall"){{ + itemDrop = Items.graphite; + variants = 3; + }}; + //endregion //region crafting @@ -544,6 +637,24 @@ public class Blocks implements ContentList{ consumes.power(4f); }}; + //TODO + siliconArcFurnace = new GenericCrafter("silicon-arc-furnace"){{ + requirements(Category.crafting, with(Items.thorium, 200, Items.metaglass, 120, Items.beryllium, 40, Items.silicon, 80)); + craftEffect = Fx.none; + outputItem = new ItemStack(Items.silicon, 5); + craftTime = 40f; + size = 3; + hasPower = true; + hasLiquids = false; + envEnabled |= Env.space | Env.underwater; + itemCapacity = 30; + drawer = new DrawArcSmelter(); + + //TODO don't use sand? + consumes.items(with(Items.graphite, 1, Items.sand, 4)); + consumes.power(6f); + }}; + kiln = new GenericCrafter("kiln"){{ requirements(Category.crafting, with(Items.copper, 60, Items.graphite, 30, Items.lead, 30)); craftEffect = Fx.smeltsmoke; @@ -741,6 +852,35 @@ public class Blocks implements ContentList{ consumes.power(0.50f); }}; + cellSynthesisChamber = new LiquidConverter("cell-synthesis-chamber"){{ + //TODO booster mechanics? + requirements(Category.crafting, with(Items.thorium, 100, Items.phaseFabric, 120, Items.titanium, 150, Items.surgeAlloy, 70)); + outputLiquid = new LiquidStack(Liquids.neoplasm, 0.4f); + craftTime = 200f; + size = 3; + hasPower = true; + hasItems = true; + hasLiquids = true; + rotate = false; + solid = true; + outputsLiquid = true; + drawer = new DrawCells(){{ + color = Color.valueOf("9e172c"); + particleColorFrom = Color.valueOf("9e172c"); + particleColorTo = Color.valueOf("f98f4a"); + radius = 2.5f; + lifetime = 1400f; + recurrence = 2f; + particles = 20; + range = 3f; + }}; + liquidCapacity = 30f; + + consumes.power(2f); + consumes.items(with(Items.sporePod, 3, Items.phaseFabric, 1)); + consumes.liquid(Liquids.water, 0.8f); + }}; + //endregion //region defense @@ -1033,17 +1173,17 @@ public class Blocks implements ContentList{ //special transport blocks duct = new Duct("duct"){{ - requirements(Category.distribution, BuildVisibility.debugOnly, with(Items.graphite, 5, Items.copper, 5)); + requirements(Category.distribution, with(Items.graphite, 5, Items.copper, 5)); speed = 5f; }}; ductRouter = new DuctRouter("duct-router"){{ - requirements(Category.distribution, BuildVisibility.debugOnly, with(Items.graphite, 10, Items.copper, 5)); + requirements(Category.distribution, with(Items.graphite, 10, Items.copper, 5)); speed = 5f; }}; ductBridge = new DuctBridge("duct-bridge"){{ - requirements(Category.distribution, BuildVisibility.debugOnly, with(Items.graphite, 20, Items.copper, 15)); + requirements(Category.distribution, with(Items.graphite, 20, Items.copper, 15)); }}; //endregion @@ -1356,6 +1496,14 @@ public class Blocks implements ContentList{ consumes.liquid(Liquids.water, 0.15f); }}; + beamDrill = new BeamDrill("beam-drill"){{ + requirements(Category.production, with(Items.copper, 150)); + consumes.power(0.2f); + tier = 4; + size = 2; + range = 4; + }}; + //endregion //region storage @@ -2121,6 +2269,15 @@ public class Blocks implements ContentList{ consumes.power(4f); }}; + //TODO + payloadLaunchPad = new PayloadLaunchPad("payload-launch-pad"){{ + requirements(Category.units, BuildVisibility.debugOnly, ItemStack.with(Items.titanium, 200, Items.silicon, 150, Items.lead, 250, Items.plastanium, 75)); + size = 5; + launchTime = 60f; + hasPower = true; + consumes.power(7f); + }}; + interplanetaryAccelerator = new Accelerator("interplanetary-accelerator"){{ requirements(Category.effect, BuildVisibility.campaignOnly, with(Items.copper, 16000, Items.silicon, 11000, Items.thorium, 13000, Items.titanium, 12000, Items.surgeAlloy, 6000, Items.phaseFabric, 5000)); researchCostMultiplier = 0.1f; @@ -2131,6 +2288,23 @@ public class Blocks implements ContentList{ health = size * size * 80; }}; + nuclearWarhead = new NuclearWarhead("nuclear-warhead"){{ + requirements(Category.crafting, BuildVisibility.debugOnly, with(Items.thorium, 40)); + size = 2; + }}; + + warheadAssembler = new SingleBlockProducer("warhead-assembler"){{ + requirements(Category.crafting, BuildVisibility.debugOnly, with(Items.thorium, 100)); + result = nuclearWarhead; + size = 3; + buildSpeed = 0.3f; + }}; + + ballisticSilo = new BallisticSilo("ballistic-silo"){{ + requirements(Category.crafting, BuildVisibility.debugOnly, with(Items.thorium, 100)); + size = 5; + }}; + //endregion campaign //region logic diff --git a/core/src/mindustry/content/Items.java b/core/src/mindustry/content/Items.java index 360a965c45..05633d50a8 100644 --- a/core/src/mindustry/content/Items.java +++ b/core/src/mindustry/content/Items.java @@ -7,7 +7,8 @@ import mindustry.type.*; public class Items implements ContentList{ public static Item scrap, copper, lead, graphite, coal, titanium, thorium, silicon, plastanium, - phaseFabric, surgeAlloy, sporePod, sand, blastCompound, pyratite, metaglass; + phaseFabric, surgeAlloy, sporePod, sand, blastCompound, pyratite, metaglass, + beryllium, fissileMatter; @Override public void load(){ @@ -91,5 +92,15 @@ public class Items implements ContentList{ flammability = 1.4f; explosiveness = 0.4f; }}; + + beryllium = new Item("beryllium", Color.valueOf("3a8f64")){{ + hardness = 4; + cost = 1.3f; + }}; + + fissileMatter = new Item("fissile-matter", Color.valueOf("536631")){{ + hardness = 4; + radioactivity = 1.5f; + }}; } } diff --git a/core/src/mindustry/content/Liquids.java b/core/src/mindustry/content/Liquids.java index 664a9362ba..67a65757c6 100644 --- a/core/src/mindustry/content/Liquids.java +++ b/core/src/mindustry/content/Liquids.java @@ -5,7 +5,7 @@ import mindustry.ctype.*; import mindustry.type.*; public class Liquids implements ContentList{ - public static Liquid water, slag, oil, cryofluid; + public static Liquid water, slag, oil, cryofluid, neoplasm, rovazide; @Override public void load(){ @@ -38,5 +38,17 @@ public class Liquids implements ContentList{ effect = StatusEffects.freezing; lightColor = Color.valueOf("0097f5").a(0.2f); }}; + + neoplasm = new Liquid("neoplasm", Color.valueOf("e05438")){{ + heatCapacity = 0.4f; + temperature = 0.54f; + viscosity = 0.65f; + flammability = 0.1f; + }}; + + //rovazide = new Liquid("rovafuel", Color.valueOf("9dde68")){{ + // flammability = 1.5f; + // explosiveness = 3f; + //}}; } } diff --git a/core/src/mindustry/content/Planets.java b/core/src/mindustry/content/Planets.java index 7134a6ef28..f52334417c 100644 --- a/core/src/mindustry/content/Planets.java +++ b/core/src/mindustry/content/Planets.java @@ -9,6 +9,8 @@ import mindustry.type.*; public class Planets implements ContentList{ public static Planet sun, + erekir, + tantros, serpulo; @Override @@ -30,6 +32,25 @@ public class Planets implements ContentList{ ); }}; + erekir = new Planet("erekir", sun, 2, 1){{ + generator = new ErekirPlanetGenerator(); + meshLoader = () -> 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