general mindustry schematic tools
-rw-r--r--.gitmodules3
-rw-r--r--art.zipbin0 -> 466554 bytes
-rw-r--r--blocks_smol.mschbin0 -> 106382 bytes
-rwxr-xr-xmain37
-rw-r--r--median.json169
-rw-r--r--pix2msch/core.py156
-rw-r--r--pix2msch/modified from ado1928⁄pix2msch1
-rwxr-xr-xpix2msch/my.py23
m---------schem_creation/MSchemGen0
-rwxr-xr-xschem_creation/img2json/avgcolor.py15
-rwxr-xr-xschem_creation/img2json/main.py258
-rwxr-xr-xschem_creation/run.sh10
-rw-r--r--schem_image/assets/sprites/blocks/campaign/interplanetary-accelerator-team.pngbin0 -> 3767 bytes
-rw-r--r--schem_image/assets/sprites/blocks/campaign/interplanetary-accelerator.pngbin0 -> 11273 bytes
-rw-r--r--schem_image/assets/sprites/blocks/campaign/launch-pad-large.pngbin0 -> 4244 bytes
-rw-r--r--schem_image/assets/sprites/blocks/campaign/launch-pad-light.pngbin0 -> 186 bytes
-rw-r--r--schem_image/assets/sprites/blocks/campaign/launch-pad.pngbin0 -> 1340 bytes
-rw-r--r--schem_image/assets/sprites/blocks/campaign/launchpod.pngbin0 -> 1173 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/alloy-smelter.pngbin0 -> 1078 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/blast-mixer.pngbin0 -> 743 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/coal-centrifuge.pngbin0 -> 687 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/cryofluid-mixer-top.pngbin0 -> 304 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/cryofluid-mixer.pngbin0 -> 1295 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/disassembler-spinner.pngbin0 -> 299 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/disassembler.pngbin0 -> 2260 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/graphite-press.pngbin0 -> 1061 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/incinerator.pngbin0 -> 228 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/kiln.pngbin0 -> 1122 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/melter.pngbin0 -> 342 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/multi-press.pngbin0 -> 991 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/phase-weaver-bottom.pngbin0 -> 223 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/phase-weaver-weave.pngbin0 -> 283 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/phase-weaver.pngbin0 -> 1264 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/plastanium-compressor.pngbin0 -> 747 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/pulverizer-rotator.pngbin0 -> 210 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/pulverizer.pngbin0 -> 292 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/pyratite-mixer.pngbin0 -> 703 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/separator-spinner.pngbin0 -> 158 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/separator.pngbin0 -> 679 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/silicon-crucible.pngbin0 -> 1882 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/silicon-smelter.pngbin0 -> 1109 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/spore-press-top.pngbin0 -> 153 bytes
-rw-r--r--schem_image/assets/sprites/blocks/crafting/spore-press.pngbin0 -> 1098 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/copper-wall-large.pngbin0 -> 660 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/copper-wall.pngbin0 -> 197 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/door-large-open.pngbin0 -> 633 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/door-large.pngbin0 -> 585 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/door-open.pngbin0 -> 275 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/door.pngbin0 -> 281 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/force-projector-top.pngbin0 -> 286 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/force-projector.pngbin0 -> 1125 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/mend-projector-top.pngbin0 -> 222 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/mend-projector.pngbin0 -> 719 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/mender-top.pngbin0 -> 157 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/mender.pngbin0 -> 344 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/overdrive-dome-top.pngbin0 -> 516 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/overdrive-dome.pngbin0 -> 2007 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/overdrive-projector-top.pngbin0 -> 257 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/overdrive-projector.pngbin0 -> 718 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/phase-wall-large.pngbin0 -> 573 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/phase-wall.pngbin0 -> 212 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/plastanium-wall-large.pngbin0 -> 578 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/plastanium-wall.pngbin0 -> 218 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/scrap-wall-gigantic.pngbin0 -> 755 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/scrap-wall-huge.pngbin0 -> 1201 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/scrap-wall-large.pngbin0 -> 623 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/scrap-wall-large2.pngbin0 -> 381 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/scrap-wall-large3.pngbin0 -> 660 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/scrap-wall-large4.pngbin0 -> 661 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/scrap-wall.pngbin0 -> 329 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/shock-mine.pngbin0 -> 229 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/surge-wall-large.pngbin0 -> 843 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/surge-wall.pngbin0 -> 323 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/thorium-wall-large.pngbin0 -> 796 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/thorium-wall.pngbin0 -> 323 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/thruster-top.pngbin0 -> 763 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/thruster.pngbin0 -> 612 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/titanium-wall-large.pngbin0 -> 655 bytes
-rw-r--r--schem_image/assets/sprites/blocks/defense/titanium-wall.pngbin0 -> 198 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/bridge-arrow.pngbin0 -> 130 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/bridge-conveyor-arrow.pngbin0 -> 128 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/bridge-conveyor-bridge.pngbin0 -> 123 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/bridge-conveyor-end.pngbin0 -> 147 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/bridge-conveyor.pngbin0 -> 278 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/center.pngbin0 -> 114 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-0-0.pngbin0 -> 277 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-1-0.pngbin0 -> 491 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-2-0.pngbin0 -> 300 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-3-0.pngbin0 -> 227 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-4-0.pngbin0 -> 296 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-0-0.pngbin0 -> 175 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-1-0.pngbin0 -> 375 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-2-0.pngbin0 -> 226 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-3-0.pngbin0 -> 227 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-4-0.pngbin0 -> 211 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-0.pngbin0 -> 178 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-1.pngbin0 -> 1653 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-2.pngbin0 -> 1687 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-edge.pngbin0 -> 640 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor.pngbin0 -> 636 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-0-0.pngbin0 -> 184 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-1-0.pngbin0 -> 410 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-2-0.pngbin0 -> 234 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-3-0.pngbin0 -> 225 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-4-0.pngbin0 -> 215 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/cross.pngbin0 -> 170 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/distributor.pngbin0 -> 441 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-0.pngbin0 -> 119 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-1.pngbin0 -> 149 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-2.pngbin0 -> 121 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-3.pngbin0 -> 121 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-4.pngbin0 -> 121 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom.pngbin0 -> 156 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-arrow.pngbin0 -> 139 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-bridge-bottom.pngbin0 -> 115 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-bridge.pngbin0 -> 142 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-dir.pngbin0 -> 174 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge.pngbin0 -> 322 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-router-top.pngbin0 -> 165 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-router.pngbin0 -> 322 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-top-0.pngbin0 -> 329 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-top-1.pngbin0 -> 364 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-top-2.pngbin0 -> 442 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-top-3.pngbin0 -> 560 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/ducts/duct-top-4.pngbin0 -> 413 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/inverted-sorter.pngbin0 -> 260 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/junction.pngbin0 -> 252 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/mass-driver-base.pngbin0 -> 1617 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/mass-driver.pngbin0 -> 1817 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/overflow-gate.pngbin0 -> 209 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/phase-conveyor-arrow.pngbin0 -> 128 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/phase-conveyor-bridge.pngbin0 -> 116 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/phase-conveyor-end.pngbin0 -> 101 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/phase-conveyor.pngbin0 -> 292 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/router.pngbin0 -> 185 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/sorter.pngbin0 -> 192 bytes
-rw-r--r--schem_image/assets/sprites/blocks/distribution/underflow-gate.pngbin0 -> 286 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/basalt1.pngbin0 -> 191 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/basalt2.pngbin0 -> 186 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/basalt3.pngbin0 -> 214 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/char1.pngbin0 -> 236 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/char2.pngbin0 -> 219 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/char3.pngbin0 -> 243 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/cliff.pngbin0 -> 274 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/cliff0.pngbin0 -> 456 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/cliff1.pngbin0 -> 351 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/cliff2.pngbin0 -> 429 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/cliff3.pngbin0 -> 377 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/cliff4.pngbin0 -> 416 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/cliff5.pngbin0 -> 405 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/cliff6.pngbin0 -> 365 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/cliff7.pngbin0 -> 359 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/coal1.pngbin0 -> 332 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/coal2.pngbin0 -> 325 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/coal3.pngbin0 -> 297 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/copper1.pngbin0 -> 328 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/copper2.pngbin0 -> 341 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/copper3.pngbin0 -> 322 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/craters1.pngbin0 -> 245 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/craters2.pngbin0 -> 238 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/craters3.pngbin0 -> 231 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/craters4.pngbin0 -> 233 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/craters5.pngbin0 -> 162 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/craters6.pngbin0 -> 171 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dacite-wall-large.pngbin0 -> 742 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dacite-wall1.pngbin0 -> 349 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dacite-wall2.pngbin0 -> 354 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dacite1.pngbin0 -> 283 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dacite2.pngbin0 -> 236 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dacite3.pngbin0 -> 265 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dark-metal-large.pngbin0 -> 521 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dark-metal1.pngbin0 -> 208 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dark-metal2.pngbin0 -> 267 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dark-panel-1.pngbin0 -> 218 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dark-panel-2.pngbin0 -> 200 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dark-panel-3.pngbin0 -> 242 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dark-panel-4.pngbin0 -> 201 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dark-panel-5.pngbin0 -> 250 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dark-panel-6.pngbin0 -> 232 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/darksand-tainted-water.pngbin0 -> 390 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/darksand-water.pngbin0 -> 388 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/darksand1.pngbin0 -> 180 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/darksand2.pngbin0 -> 222 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/darksand3.pngbin0 -> 191 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/deepwater.pngbin0 -> 291 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dirt-wall-large.pngbin0 -> 696 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dirt-wall1.pngbin0 -> 343 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dirt-wall2.pngbin0 -> 339 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dirt1.pngbin0 -> 143 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dirt2.pngbin0 -> 155 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dirt3.pngbin0 -> 585 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dune-wall-large.pngbin0 -> 631 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dune-wall1.pngbin0 -> 389 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/dune-wall2.pngbin0 -> 377 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/edge-stencil.pngbin0 -> 2977 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/edge.pngbin0 -> 437 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/edgier.pngbin0 -> 137 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/grass1.pngbin0 -> 189 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/grass2.pngbin0 -> 172 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/grass3.pngbin0 -> 193 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/hotrock1.pngbin0 -> 290 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/hotrock2.pngbin0 -> 308 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/hotrock3.pngbin0 -> 285 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/ice-snow1.pngbin0 -> 514 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/ice-snow2.pngbin0 -> 536 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/ice-snow3.pngbin0 -> 430 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/ice-wall-large.pngbin0 -> 526 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/ice-wall1.pngbin0 -> 255 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/ice-wall2.pngbin0 -> 268 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/ice1.pngbin0 -> 239 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/ice2.pngbin0 -> 230 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/ice3.pngbin0 -> 228 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/lead1.pngbin0 -> 297 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/lead2.pngbin0 -> 284 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/lead3.pngbin0 -> 291 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/magmarock1.pngbin0 -> 327 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/magmarock2.pngbin0 -> 337 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/magmarock3.pngbin0 -> 315 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/metal-floor-2.pngbin0 -> 161 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/metal-floor-3.pngbin0 -> 235 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/metal-floor-5.pngbin0 -> 232 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/metal-floor-damaged1.pngbin0 -> 240 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/metal-floor-damaged2.pngbin0 -> 221 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/metal-floor-damaged3.pngbin0 -> 217 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/metal-floor.pngbin0 -> 232 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/moss1.pngbin0 -> 219 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/moss2.pngbin0 -> 212 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/moss3.pngbin0 -> 207 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/mud1.pngbin0 -> 1957 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/mud2.pngbin0 -> 1919 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/mud3.pngbin0 -> 1967 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/pack.json8
-rw-r--r--schem_image/assets/sprites/blocks/environment/pebbles1.pngbin0 -> 222 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/pebbles2.pngbin0 -> 257 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/pebbles3.pngbin0 -> 244 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/pine.pngbin0 -> 688 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/salt-wall-large.pngbin0 -> 499 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/salt-wall1.pngbin0 -> 260 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/salt-wall2.pngbin0 -> 261 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/salt.pngbin0 -> 243 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/sand-wall-large.pngbin0 -> 671 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/sand-wall1.pngbin0 -> 291 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/sand-wall2.pngbin0 -> 268 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/sand-water.pngbin0 -> 382 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/sand1.pngbin0 -> 237 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/sand2.pngbin0 -> 215 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/sand3.pngbin0 -> 194 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/scrap1.pngbin0 -> 316 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/scrap2.pngbin0 -> 317 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/scrap3.pngbin0 -> 298 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/shale-wall-large.pngbin0 -> 496 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/shale-wall1.pngbin0 -> 252 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/shale-wall2.pngbin0 -> 238 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/shale1.pngbin0 -> 220 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/shale2.pngbin0 -> 227 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/shale3.pngbin0 -> 213 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/shrubs-large.pngbin0 -> 509 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/shrubs1.pngbin0 -> 287 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/shrubs2.pngbin0 -> 291 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/slag.pngbin0 -> 1299 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/snow-pine.pngbin0 -> 694 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/snow-wall-large.pngbin0 -> 471 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/snow-wall1.pngbin0 -> 264 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/snow-wall2.pngbin0 -> 247 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/snow1.pngbin0 -> 210 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/snow2.pngbin0 -> 195 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/snow3.pngbin0 -> 198 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/space.pngbin0 -> 120 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/spawn.pngbin0 -> 221 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/spore-moss1.pngbin0 -> 259 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/spore-moss2.pngbin0 -> 247 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/spore-moss3.pngbin0 -> 253 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/spore-pine.pngbin0 -> 649 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/spore-wall-large.pngbin0 -> 489 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/spore-wall1.pngbin0 -> 267 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/spore-wall2.pngbin0 -> 213 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/stone-wall-large.pngbin0 -> 390 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/stone-wall1.pngbin0 -> 215 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/stone-wall2.pngbin0 -> 211 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/stone1.pngbin0 -> 179 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/stone2.pngbin0 -> 182 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/stone3.pngbin0 -> 184 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/tainted-water.pngbin0 -> 290 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/tar.pngbin0 -> 121 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/tendrils1.pngbin0 -> 239 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/tendrils2.pngbin0 -> 245 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/tendrils3.pngbin0 -> 244 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/thorium1.pngbin0 -> 277 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/thorium2.pngbin0 -> 269 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/thorium3.pngbin0 -> 283 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/titanium1.pngbin0 -> 370 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/titanium2.pngbin0 -> 349 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/titanium3.pngbin0 -> 279 bytes
-rw-r--r--schem_image/assets/sprites/blocks/environment/water.pngbin0 -> 291 bytes
-rw-r--r--schem_image/assets/sprites/blocks/experimental/block-forge.pngbin0 -> 1374 bytes
-rw-r--r--schem_image/assets/sprites/blocks/experimental/block-loader.pngbin0 -> 1602 bytes
-rw-r--r--schem_image/assets/sprites/blocks/experimental/block-unloader.pngbin0 -> 895 bytes
-rw-r--r--schem_image/assets/sprites/blocks/extra/block-border.pngbin0 -> 146 bytes
-rw-r--r--schem_image/assets/sprites/blocks/extra/block-middle.pngbin0 -> 107 bytes
-rw-r--r--schem_image/assets/sprites/blocks/extra/block-select.pngbin0 -> 136 bytes
-rw-r--r--schem_image/assets/sprites/blocks/extra/conduit-liquid.pngbin0 -> 109 bytes
-rw-r--r--schem_image/assets/sprites/blocks/extra/place-arrow.pngbin0 -> 540 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/bridge-conduit-arrow.pngbin0 -> 128 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/bridge-conduit-bridge.pngbin0 -> 123 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/bridge-conduit-end.pngbin0 -> 148 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/bridge-conduit.pngbin0 -> 296 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-bottom-0.pngbin0 -> 134 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-bottom-1.pngbin0 -> 177 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-bottom-2.pngbin0 -> 98 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-bottom-3.pngbin0 -> 98 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-bottom-4.pngbin0 -> 98 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-bottom.pngbin0 -> 156 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-top-0.pngbin0 -> 284 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-top-1.pngbin0 -> 328 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-top-2.pngbin0 -> 323 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-top-3.pngbin0 -> 365 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/conduit-top-4.pngbin0 -> 302 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/liquid-junction.pngbin0 -> 273 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/liquid-overflow-gate-top.pngbin0 -> 163 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/liquid-overflow-gate.pngbin0 -> 204 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/liquid-router-bottom.pngbin0 -> 222 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/liquid-router-liquid.pngbin0 -> 111 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/liquid-router-top.pngbin0 -> 153 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/liquid-tank-bottom.pngbin0 -> 1546 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/liquid-tank-liquid.pngbin0 -> 376 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/liquid-tank-top.pngbin0 -> 490 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/mechanical-pump-liquid.pngbin0 -> 274 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/mechanical-pump.pngbin0 -> 357 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/phase-conduit-arrow.pngbin0 -> 128 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/phase-conduit-bridge.pngbin0 -> 122 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/phase-conduit-end.pngbin0 -> 105 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/phase-conduit.pngbin0 -> 248 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/plated-conduit-cap.pngbin0 -> 178 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/plated-conduit-top-0.pngbin0 -> 396 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/plated-conduit-top-1.pngbin0 -> 499 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/plated-conduit-top-2.pngbin0 -> 420 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/plated-conduit-top-3.pngbin0 -> 369 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/plated-conduit-top-4.pngbin0 -> 279 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-0.pngbin0 -> 315 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-1.pngbin0 -> 382 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-2.pngbin0 -> 353 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-3.pngbin0 -> 560 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-4.pngbin0 -> 339 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/rotary-pump-liquid.pngbin0 -> 274 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/rotary-pump.pngbin0 -> 712 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/thermal-pump-liquid.pngbin0 -> 274 bytes
-rw-r--r--schem_image/assets/sprites/blocks/liquid/thermal-pump.pngbin0 -> 1219 bytes
-rw-r--r--schem_image/assets/sprites/blocks/logic/hyper-processor.pngbin0 -> 2233 bytes
-rw-r--r--schem_image/assets/sprites/blocks/logic/large-logic-display.pngbin0 -> 1421 bytes
-rw-r--r--schem_image/assets/sprites/blocks/logic/logic-display.pngbin0 -> 812 bytes
-rw-r--r--schem_image/assets/sprites/blocks/logic/logic-processor.pngbin0 -> 1326 bytes
-rw-r--r--schem_image/assets/sprites/blocks/logic/memory-bank.pngbin0 -> 751 bytes
-rw-r--r--schem_image/assets/sprites/blocks/logic/memory-cell.pngbin0 -> 385 bytes
-rw-r--r--schem_image/assets/sprites/blocks/logic/message.pngbin0 -> 340 bytes
-rw-r--r--schem_image/assets/sprites/blocks/logic/micro-processor.pngbin0 -> 581 bytes
-rw-r--r--schem_image/assets/sprites/blocks/logic/switch-on.pngbin0 -> 547 bytes
-rw-r--r--schem_image/assets/sprites/blocks/logic/switch.pngbin0 -> 779 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/block-forge.pngbin0 -> 1374 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/block-loader.pngbin0 -> 1602 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/block-unloader.pngbin0 -> 895 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-conveyor-edge.pngbin0 -> 503 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-conveyor-icon.pngbin0 -> 926 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-conveyor-top.pngbin0 -> 513 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-conveyor.pngbin0 -> 412 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-base.pngbin0 -> 2470 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-cap.pngbin0 -> 1889 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-left.pngbin0 -> 1881 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-right.pngbin0 -> 1833 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-top.pngbin0 -> 3519 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-propulsion-tower.pngbin0 -> 3031 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-router-edge.pngbin0 -> 129 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-router-icon.pngbin0 -> 1000 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-router-over.pngbin0 -> 720 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-router-top.pngbin0 -> 513 bytes
-rw-r--r--schem_image/assets/sprites/blocks/payload/payload-router.pngbin0 -> 307 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/battery-large.pngbin0 -> 1019 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/battery.pngbin0 -> 2713 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/combustion-generator-top.pngbin0 -> 144 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/combustion-generator.pngbin0 -> 315 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/differential-generator-liquid.pngbin0 -> 984 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/differential-generator-top.pngbin0 -> 639 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/differential-generator.pngbin0 -> 1145 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/diode-arrow.pngbin0 -> 158 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/diode.pngbin0 -> 279 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/impact-reactor-bottom.pngbin0 -> 299 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/impact-reactor-light.pngbin0 -> 191 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/impact-reactor-plasma-0.pngbin0 -> 695 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/impact-reactor-plasma-1.pngbin0 -> 481 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/impact-reactor-plasma-2.pngbin0 -> 540 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/impact-reactor-plasma-3.pngbin0 -> 522 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/impact-reactor.pngbin0 -> 1978 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/power-node-large.pngbin0 -> 413 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/power-node.pngbin0 -> 256 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/rtg-generator-top.pngbin0 -> 238 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/rtg-generator.pngbin0 -> 1146 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/solar-panel-large.pngbin0 -> 1578 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/solar-panel.pngbin0 -> 717 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/steam-generator-cap.pngbin0 -> 558 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/steam-generator-liquid.pngbin0 -> 781 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/steam-generator-top.pngbin0 -> 227 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/steam-generator-turbine0.pngbin0 -> 260 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/steam-generator-turbine1.pngbin0 -> 206 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/steam-generator.pngbin0 -> 1133 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/surge-tower.pngbin0 -> 549 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/thermal-generator.pngbin0 -> 832 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/thorium-reactor-lights.pngbin0 -> 514 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/thorium-reactor-top.pngbin0 -> 779 bytes
-rw-r--r--schem_image/assets/sprites/blocks/power/thorium-reactor.pngbin0 -> 1639 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/blast-drill-rim.pngbin0 -> 800 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/blast-drill-rotator.pngbin0 -> 1012 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/blast-drill-top.pngbin0 -> 474 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/blast-drill.pngbin0 -> 1227 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/cultivator-top.pngbin0 -> 929 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/cultivator.pngbin0 -> 336 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/drill-item-2.pngbin0 -> 300 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/drill-item-3.pngbin0 -> 1562 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/drill-item-4.pngbin0 -> 1542 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/laser-drill-rim.pngbin0 -> 304 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/laser-drill-rotator.pngbin0 -> 685 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/laser-drill-top.pngbin0 -> 510 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/laser-drill.pngbin0 -> 1424 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/mechanical-drill-rotator.pngbin0 -> 347 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/mechanical-drill-top.pngbin0 -> 305 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/mechanical-drill.pngbin0 -> 438 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/oil-extractor-liquid.pngbin0 -> 329 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/oil-extractor-rotator.pngbin0 -> 903 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/oil-extractor-top.pngbin0 -> 425 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/oil-extractor.pngbin0 -> 954 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/pneumatic-drill-rotator.pngbin0 -> 371 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/pneumatic-drill-top.pngbin0 -> 304 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/pneumatic-drill.pngbin0 -> 389 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/water-extractor-liquid.pngbin0 -> 211 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/water-extractor-rotator.pngbin0 -> 766 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/water-extractor-top.pngbin0 -> 606 bytes
-rw-r--r--schem_image/assets/sprites/blocks/production/water-extractor.pngbin0 -> 419 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/basalt-boulder1.pngbin0 -> 682 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/basalt-boulder2.pngbin0 -> 683 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/boulder1.pngbin0 -> 414 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/boulder2.pngbin0 -> 402 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/dacite-boulder1.pngbin0 -> 697 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/dacite-boulder2.pngbin0 -> 717 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/sand-boulder1.pngbin0 -> 292 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/sand-boulder2.pngbin0 -> 313 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/shale-boulder1.pngbin0 -> 271 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/shale-boulder2.pngbin0 -> 297 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/snow-boulder1.pngbin0 -> 411 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/snow-boulder2.pngbin0 -> 410 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/spore-cluster1.pngbin0 -> 271 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/spore-cluster2.pngbin0 -> 303 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/spore-cluster3.pngbin0 -> 289 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/white-tree-dead-shadow.pngbin0 -> 22499 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/white-tree-dead.pngbin0 -> 9855 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/white-tree-shadow.pngbin0 -> 22500 bytes
-rw-r--r--schem_image/assets/sprites/blocks/props/white-tree.pngbin0 -> 7561 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/center.pngbin0 -> 114 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/cross.pngbin0 -> 170 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/illuminator-top.pngbin0 -> 170 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/illuminator.pngbin0 -> 287 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/item-source.pngbin0 -> 197 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/item-void.pngbin0 -> 356 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/liquid-source.pngbin0 -> 208 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/liquid-void.pngbin0 -> 366 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/payload-source-top.pngbin0 -> 1124 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/payload-source.pngbin0 -> 1263 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/payload-void-top.pngbin0 -> 1105 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/payload-void.pngbin0 -> 1263 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/power-source.pngbin0 -> 504 bytes
-rw-r--r--schem_image/assets/sprites/blocks/sandbox/power-void.pngbin0 -> 481 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/container-team.pngbin0 -> 628 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/container.pngbin0 -> 435 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/core-foundation-team.pngbin0 -> 2334 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/core-foundation.pngbin0 -> 1455 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/core-nucleus-team.pngbin0 -> 3153 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/core-nucleus.pngbin0 -> 1906 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/core-shard-team.pngbin0 -> 1221 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/core-shard.pngbin0 -> 1072 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/unloader-center.pngbin0 -> 290 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/unloader.pngbin0 -> 299 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/vault-team.pngbin0 -> 854 bytes
-rw-r--r--schem_image/assets/sprites/blocks/storage/vault.pngbin0 -> 671 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/arc-heat.pngbin0 -> 144 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/arc.pngbin0 -> 285 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/bases/block-1.pngbin0 -> 228 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/bases/block-2.pngbin0 -> 418 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/bases/block-3.pngbin0 -> 620 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/bases/block-4.pngbin0 -> 968 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/cyclone.pngbin0 -> 1722 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/duo.pngbin0 -> 373 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/foreshadow-heat.pngbin0 -> 537 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/foreshadow.pngbin0 -> 1938 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/fuse.pngbin0 -> 2369 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/hail-heat.pngbin0 -> 148 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/hail.pngbin0 -> 349 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/lancer-heat.pngbin0 -> 214 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/lancer.pngbin0 -> 947 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/meltdown-heat.pngbin0 -> 889 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/meltdown.pngbin0 -> 2100 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/parallax.pngbin0 -> 656 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/ripple-heat.pngbin0 -> 333 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/ripple.pngbin0 -> 1498 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/salvo-heat.pngbin0 -> 278 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/salvo.pngbin0 -> 842 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/scatter.pngbin0 -> 853 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/scorch-heat.pngbin0 -> 233 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/scorch.pngbin0 -> 307 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/segment.pngbin0 -> 687 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/spectre.pngbin0 -> 1921 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/swarmer.pngbin0 -> 893 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/tsunami-liquid.pngbin0 -> 434 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/tsunami-top.pngbin0 -> 350 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/tsunami.pngbin0 -> 2053 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/wave-liquid.pngbin0 -> 137 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/wave-top.pngbin0 -> 285 bytes
-rw-r--r--schem_image/assets/sprites/blocks/turrets/wave.pngbin0 -> 926 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/additive-reconstructor-top.pngbin0 -> 1329 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/additive-reconstructor.pngbin0 -> 1314 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/air-factory.pngbin0 -> 1360 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/command-center-team.pngbin0 -> 511 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/command-center.pngbin0 -> 347 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/exponential-reconstructor-top.pngbin0 -> 2205 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/exponential-reconstructor.pngbin0 -> 5178 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/factory-in-3.pngbin0 -> 1407 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/factory-in-5.pngbin0 -> 2172 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/factory-in-7.pngbin0 -> 3210 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/factory-in-9.pngbin0 -> 4393 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/factory-out-3.pngbin0 -> 651 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/factory-out-5.pngbin0 -> 1160 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/factory-out-7.pngbin0 -> 1671 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/factory-out-9.pngbin0 -> 2352 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/factory-top-3.pngbin0 -> 1030 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/ground-factory.pngbin0 -> 1374 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/multiplicative-reconstructor-top.pngbin0 -> 1565 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/multiplicative-reconstructor.pngbin0 -> 2879 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/naval-factory.pngbin0 -> 1371 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/rally-point.pngbin0 -> 710 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/repair-point-base.pngbin0 -> 253 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/repair-point.pngbin0 -> 243 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/repair-turret.pngbin0 -> 993 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/resupply-point.pngbin0 -> 1161 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/tetrative-reconstructor-top.pngbin0 -> 2775 bytes
-rw-r--r--schem_image/assets/sprites/blocks/units/tetrative-reconstructor.pngbin0 -> 8759 bytes
-rw-r--r--schem_image/assets/sprites/error.pngbin0 -> 215 bytes
-rw-r--r--schem_image/base64.js16
-rw-r--r--schem_image/msch.js18
-rw-r--r--schem_image/package-lock.json1261
-rw-r--r--schem_image/package.json7
-rw-r--r--schem_image/uses mindustry-schematic-parser1
-rw-r--r--siphon.sh13
-rw-r--r--src/block-additive-reconstructor-ui.pngbin0 -> 1815 bytes
-rw-r--r--src/block-air-factory-ui.pngbin0 -> 1529 bytes
-rw-r--r--src/block-alloy-smelter-ui.pngbin0 -> 1689 bytes
-rw-r--r--src/block-arc-ui.pngbin0 -> 715 bytes
-rw-r--r--src/block-armored-conveyor-ui.pngbin0 -> 342 bytes
-rw-r--r--src/block-battery-large-ui.pngbin0 -> 1677 bytes
-rw-r--r--src/block-battery-ui.pngbin0 -> 404 bytes
-rw-r--r--src/block-blast-drill-ui.pngbin0 -> 2621 bytes
-rw-r--r--src/block-blast-mixer-ui.pngbin0 -> 1396 bytes
-rw-r--r--src/block-boulder-ui.pngbin0 -> 628 bytes
-rw-r--r--src/block-bridge-conduit-ui.pngbin0 -> 462 bytes
-rw-r--r--src/block-bridge-conveyor-ui.pngbin0 -> 420 bytes
-rw-r--r--src/block-coal-centrifuge-ui.pngbin0 -> 1152 bytes
-rw-r--r--src/block-combustion-generator-ui.pngbin0 -> 511 bytes
-rw-r--r--src/block-command-center-ui.pngbin0 -> 783 bytes
-rw-r--r--src/block-conduit-ui.pngbin0 -> 294 bytes
-rw-r--r--src/block-constructor-ui.pngbin0 -> 2106 bytes
-rw-r--r--src/block-container-ui.pngbin0 -> 1029 bytes
-rw-r--r--src/block-conveyor-ui.pngbin0 -> 232 bytes
-rw-r--r--src/block-copper-wall-large-ui.pngbin0 -> 656 bytes
-rw-r--r--src/block-copper-wall-ui.pngbin0 -> 281 bytes
-rw-r--r--src/block-core-foundation-ui.pngbin0 -> 2783 bytes
-rw-r--r--src/block-core-nucleus-ui.pngbin0 -> 5614 bytes
-rw-r--r--src/block-core-shard-ui.pngbin0 -> 1699 bytes
-rw-r--r--src/block-cryofluid-mixer-ui.pngbin0 -> 1367 bytes
-rw-r--r--src/block-cultivator-ui.pngbin0 -> 1163 bytes
-rw-r--r--src/block-cyclone-ui.pngbin0 -> 2315 bytes
-rw-r--r--src/block-deconstructor-ui.pngbin0 -> 8644 bytes
-rw-r--r--src/block-differential-generator-ui.pngbin0 -> 1863 bytes
-rw-r--r--src/block-diode-ui.pngbin0 -> 444 bytes
-rw-r--r--src/block-disassembler-ui.pngbin0 -> 2255 bytes
-rw-r--r--src/block-distributor-ui.pngbin0 -> 686 bytes
-rw-r--r--src/block-door-large-ui.pngbin0 -> 1024 bytes
-rw-r--r--src/block-door-ui.pngbin0 -> 472 bytes
-rw-r--r--src/block-duct-bridge-ui.pngbin0 -> 415 bytes
-rw-r--r--src/block-duct-router-ui.pngbin0 -> 439 bytes
-rw-r--r--src/block-duct-ui.pngbin0 -> 272 bytes
-rw-r--r--src/block-duo-ui.pngbin0 -> 671 bytes
-rw-r--r--src/block-exponential-reconstructor-ui.pngbin0 -> 9056 bytes
-rw-r--r--src/block-force-projector-ui.pngbin0 -> 1673 bytes
-rw-r--r--src/block-foreshadow-ui.pngbin0 -> 3948 bytes
-rw-r--r--src/block-fuse-ui.pngbin0 -> 2566 bytes
-rw-r--r--src/block-graphite-press-ui.pngbin0 -> 1171 bytes
-rw-r--r--src/block-ground-factory-ui.pngbin0 -> 1528 bytes
-rw-r--r--src/block-hail-ui.pngbin0 -> 718 bytes
-rw-r--r--src/block-hyper-processor-ui.pngbin0 -> 2305 bytes
-rw-r--r--src/block-illuminator-ui.pngbin0 -> 520 bytes
-rw-r--r--src/block-impact-reactor-ui.pngbin0 -> 3234 bytes
-rw-r--r--src/block-incinerator-ui.pngbin0 -> 408 bytes
-rw-r--r--src/block-interplanetary-accelerator-ui.pngbin0 -> 9908 bytes
-rw-r--r--src/block-inverted-sorter-ui.pngbin0 -> 425 bytes
-rw-r--r--src/block-item-source-ui.pngbin0 -> 298 bytes
-rw-r--r--src/block-item-void-ui.pngbin0 -> 404 bytes
-rw-r--r--src/block-junction-ui.pngbin0 -> 369 bytes
-rw-r--r--src/block-kiln-ui.pngbin0 -> 1143 bytes
-rw-r--r--src/block-lancer-ui.pngbin0 -> 1495 bytes
-rw-r--r--src/block-large-constructor-ui.pngbin0 -> 9064 bytes
-rw-r--r--src/block-large-logic-display-ui.pngbin0 -> 1419 bytes
-rw-r--r--src/block-laser-drill-ui.pngbin0 -> 1734 bytes
-rw-r--r--src/block-launch-pad-ui.pngbin0 -> 1279 bytes
-rw-r--r--src/block-liquid-container-full.pngbin0 -> 1143 bytes
-rw-r--r--src/block-liquid-container-ui.pngbin0 -> 1143 bytes
-rw-r--r--src/block-liquid-junction-ui.pngbin0 -> 423 bytes
-rw-r--r--src/block-liquid-router-full.pngbin0 -> 432 bytes
-rw-r--r--src/block-liquid-router-ui.pngbin0 -> 432 bytes
-rw-r--r--src/block-liquid-source-ui.pngbin0 -> 306 bytes
-rw-r--r--src/block-liquid-tank-full.pngbin0 -> 1944 bytes
-rw-r--r--src/block-liquid-tank-ui.pngbin0 -> 1944 bytes
-rw-r--r--src/block-liquid-void-ui.pngbin0 -> 430 bytes
-rw-r--r--src/block-logic-display-ui.pngbin0 -> 891 bytes
-rw-r--r--src/block-logic-processor-ui.pngbin0 -> 1424 bytes
-rw-r--r--src/block-mass-driver-ui.pngbin0 -> 2716 bytes
-rw-r--r--src/block-mechanical-drill-ui.pngbin0 -> 1253 bytes
-rw-r--r--src/block-mechanical-pump-ui.pngbin0 -> 620 bytes
-rw-r--r--src/block-meltdown-ui.pngbin0 -> 3901 bytes
-rw-r--r--src/block-melter-ui.pngbin0 -> 606 bytes
-rw-r--r--src/block-memory-bank-ui.pngbin0 -> 764 bytes
-rw-r--r--src/block-memory-cell-ui.pngbin0 -> 380 bytes
-rw-r--r--src/block-mend-projector-ui.pngbin0 -> 1118 bytes
-rw-r--r--src/block-mender-ui.pngbin0 -> 558 bytes
-rw-r--r--src/block-message-ui.pngbin0 -> 356 bytes
-rw-r--r--src/block-micro-processor-ui.pngbin0 -> 620 bytes
-rw-r--r--src/block-multi-press-ui.pngbin0 -> 1692 bytes
-rw-r--r--src/block-multiplicative-reconstructor-ui.pngbin0 -> 6247 bytes
-rw-r--r--src/block-naval-factory-ui.pngbin0 -> 1575 bytes
-rw-r--r--src/block-oil-extractor-ui.pngbin0 -> 2147 bytes
-rw-r--r--src/block-ore-coal-ui.pngbin0 -> 478 bytes
-rw-r--r--src/block-ore-copper-ui.pngbin0 -> 540 bytes
-rw-r--r--src/block-ore-lead-ui.pngbin0 -> 415 bytes
-rw-r--r--src/block-ore-scrap-ui.pngbin0 -> 447 bytes
-rw-r--r--src/block-ore-thorium-ui.pngbin0 -> 418 bytes
-rw-r--r--src/block-ore-titanium-ui.pngbin0 -> 511 bytes
-rw-r--r--src/block-overdrive-dome-ui.pngbin0 -> 2100 bytes
-rw-r--r--src/block-overdrive-projector-ui.pngbin0 -> 1127 bytes
-rw-r--r--src/block-overflow-gate-ui.pngbin0 -> 325 bytes
-rw-r--r--src/block-parallax-ui.pngbin0 -> 1444 bytes
-rw-r--r--src/block-payload-conveyor-ui.pngbin0 -> 860 bytes
-rw-r--r--src/block-payload-loader-ui.pngbin0 -> 1679 bytes
-rw-r--r--src/block-payload-propulsion-tower-ui.pngbin0 -> 10193 bytes
-rw-r--r--src/block-payload-router-ui.pngbin0 -> 970 bytes
-rw-r--r--src/block-payload-source-ui.pngbin0 -> 4858 bytes
-rw-r--r--src/block-payload-unloader-ui.pngbin0 -> 1688 bytes
-rw-r--r--src/block-payload-void-ui.pngbin0 -> 4481 bytes
-rw-r--r--src/block-phase-conduit-ui.pngbin0 -> 457 bytes
-rw-r--r--src/block-phase-conveyor-ui.pngbin0 -> 458 bytes
-rw-r--r--src/block-phase-wall-large-ui.pngbin0 -> 848 bytes
-rw-r--r--src/block-phase-wall-ui.pngbin0 -> 306 bytes
-rw-r--r--src/block-phase-weaver-ui.pngbin0 -> 1324 bytes
-rw-r--r--src/block-plastanium-compressor-ui.pngbin0 -> 1288 bytes
-rw-r--r--src/block-plastanium-conveyor-ui.pngbin0 -> 308 bytes
-rw-r--r--src/block-plastanium-wall-large-ui.pngbin0 -> 895 bytes
-rw-r--r--src/block-plastanium-wall-ui.pngbin0 -> 315 bytes
-rw-r--r--src/block-plated-conduit-ui.pngbin0 -> 379 bytes
-rw-r--r--src/block-pneumatic-drill-ui.pngbin0 -> 1247 bytes
-rw-r--r--src/block-power-node-large-ui.pngbin0 -> 656 bytes
-rw-r--r--src/block-power-node-ui.pngbin0 -> 464 bytes
-rw-r--r--src/block-power-source-ui.pngbin0 -> 484 bytes
-rw-r--r--src/block-power-void-ui.pngbin0 -> 437 bytes
-rw-r--r--src/block-pulse-conduit-ui.pngbin0 -> 389 bytes
-rw-r--r--src/block-pulverizer-ui.pngbin0 -> 435 bytes
-rw-r--r--src/block-pyratite-mixer-ui.pngbin0 -> 1168 bytes
-rw-r--r--src/block-repair-point-ui.pngbin0 -> 614 bytes
-rw-r--r--src/block-repair-turret-ui.pngbin0 -> 1735 bytes
-rw-r--r--src/block-ripple-ui.pngbin0 -> 2305 bytes
-rw-r--r--src/block-rotary-pump-ui.pngbin0 -> 1246 bytes
-rw-r--r--src/block-router-ui.pngbin0 -> 276 bytes
-rw-r--r--src/block-rtg-generator-ui.pngbin0 -> 1407 bytes
-rw-r--r--src/block-salvo-ui.pngbin0 -> 1628 bytes
-rw-r--r--src/block-scatter-ui.pngbin0 -> 1409 bytes
-rw-r--r--src/block-scorch-ui.pngbin0 -> 708 bytes
-rw-r--r--src/block-scrap-wall-gigantic-ui.pngbin0 -> 1463 bytes
-rw-r--r--src/block-scrap-wall-huge-ui.pngbin0 -> 1139 bytes
-rw-r--r--src/block-scrap-wall-large-ui.pngbin0 -> 777 bytes
-rw-r--r--src/block-scrap-wall-ui.pngbin0 -> 428 bytes
-rw-r--r--src/block-segment-ui.pngbin0 -> 1470 bytes
-rw-r--r--src/block-separator-ui.pngbin0 -> 1161 bytes
-rw-r--r--src/block-shock-mine-ui.pngbin0 -> 276 bytes
-rw-r--r--src/block-silicon-crucible-ui.pngbin0 -> 2083 bytes
-rw-r--r--src/block-silicon-smelter-ui.pngbin0 -> 1126 bytes
-rw-r--r--src/block-solar-panel-large-ui.pngbin0 -> 1629 bytes
-rw-r--r--src/block-solar-panel-ui.pngbin0 -> 372 bytes
-rw-r--r--src/block-sorter-ui.pngbin0 -> 287 bytes
-rw-r--r--src/block-spawn-ui.pngbin0 -> 322 bytes
-rw-r--r--src/block-spectre-ui.pngbin0 -> 3429 bytes
-rw-r--r--src/block-spore-press-ui.pngbin0 -> 1402 bytes
-rw-r--r--src/block-steam-generator-ui.pngbin0 -> 1345 bytes
-rw-r--r--src/block-surge-tower-ui.pngbin0 -> 848 bytes
-rw-r--r--src/block-surge-wall-large-ui.pngbin0 -> 879 bytes
-rw-r--r--src/block-surge-wall-ui.pngbin0 -> 347 bytes
-rw-r--r--src/block-swarmer-ui.pngbin0 -> 1327 bytes
-rw-r--r--src/block-switch-ui.pngbin0 -> 392 bytes
-rw-r--r--src/block-tetrative-reconstructor-ui.pngbin0 -> 9811 bytes
-rw-r--r--src/block-thermal-generator-ui.pngbin0 -> 1487 bytes
-rw-r--r--src/block-thermal-pump-ui.pngbin0 -> 1926 bytes
-rw-r--r--src/block-thorium-reactor-ui.pngbin0 -> 1684 bytes
-rw-r--r--src/block-thorium-wall-large-ui.pngbin0 -> 883 bytes
-rw-r--r--src/block-thorium-wall-ui.pngbin0 -> 357 bytes
-rw-r--r--src/block-thruster-ui.pngbin0 -> 1311 bytes
-rw-r--r--src/block-titanium-conveyor-ui.pngbin0 -> 240 bytes
-rw-r--r--src/block-titanium-wall-large-ui.pngbin0 -> 662 bytes
-rw-r--r--src/block-titanium-wall-ui.pngbin0 -> 279 bytes
-rw-r--r--src/block-tsunami-ui.pngbin0 -> 2684 bytes
-rw-r--r--src/block-underflow-gate-ui.pngbin0 -> 460 bytes
-rw-r--r--src/block-unloader-ui.pngbin0 -> 489 bytes
-rw-r--r--src/block-vault-ui.pngbin0 -> 1635 bytes
-rw-r--r--src/block-water-extractor-ui.pngbin0 -> 1318 bytes
-rw-r--r--src/block-wave-ui.pngbin0 -> 1617 bytes
-rw-r--r--src/spritesheet.json1921
-rw-r--r--src/spritesheet.pngbin0 -> 471525 bytes
717 files changed, 3917 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..d0bf370
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "schem_creation/MSchemGen"]
+ path = schem_creation/MSchemGen
+ url = https://github.com/code-explorer786/MSchemGen
diff --git a/art.zip b/art.zip
new file mode 100644
index 0000000..edf1a12
--- /dev/null
+++ b/art.zip
Binary files differ
diff --git a/blocks_smol.msch b/blocks_smol.msch
new file mode 100644
index 0000000..a2e4e9c
--- /dev/null
+++ b/blocks_smol.msch
Binary files differ
diff --git a/main b/main
new file mode 100755
index 0000000..865c516
--- /dev/null
+++ b/main
@@ -0,0 +1,37 @@
+#!/bin/python
+import os
+import argparse
+
+parser = argparse.ArgumentParser()
+group = parser.add_mutually_exclusive_group()
+group.add_argument("-base64", help="input base64", nargs=1, type=str)
+group.add_argument("-msch", help="msch input file", nargs=1, type=str)
+parser.add_argument("-n", help="name", action="store_true")
+args = parser.parse_args()
+
+
+os.system("rm -rf /tmp/mindustry_schematics")
+os.system("mkdir /tmp/mindustry_schematics")
+execute = ""
+
+
+if args.base64:
+ execute = "base64.js"
+elif args.msch:
+ execute = "msch.js"
+
+
+if execute:
+ arg = args.base64[0] if args.base64 else args.msch[0]
+ command = f"node ~/blocks/schem_image/{execute} {arg} > /tmp/mindustry_schematics/name"
+ if os.system(command) != 0:
+ os.system(f"echo {arg}")
+ print("fuck")
+ exit(1)
+ with open("/tmp/mindustry_schematics/name", "r") as f:
+ name = f.readline()
+
+ os.system("rm -f /tmp/mindustry_schematics/name")
+ if args.n:
+ print(name)
+ # os.system("python ~/blocks/pix2msch/my.py -i '/tmp/mindustry_schematics/image.png' -o '/tmp/mindustry_schematics' -n '%s'" % name)
diff --git a/median.json b/median.json
new file mode 100644
index 0000000..55a03c0
--- /dev/null
+++ b/median.json
@@ -0,0 +1,169 @@
+{
+(110, 112, 128): "additive-reconstructor",
+(110, 112, 128): "air-factory",
+(154, 149, 128): "alloy-smelter",
+(138, 144, 178): "arc",
+(78, 79, 88): "armored-conveyor",
+(176, 154, 143): "battery-large",
+(176, 185, 128): "battery",
+(152, 154, 128): "blast-drill",
+(161, 154, 159): "blast-mixer",
+(82, 82, 92): "boulder",
+(152, 154, 164): "bridge-conduit",
+(110, 112, 128): "bridge-conveyor",
+(156, 182, 164): "coal-centrifuge",
+(176, 165, 128): "combustion-generator",
+(152, 154, 164): "command-center",
+(110, 112, 128): "conduit",
+(143, 112, 128): "constructor",
+(154, 154, 164): "container",
+(78, 79, 88): "conveyor",
+(177, 135, 104): "copper-wall-large",
+(177, 135, 104): "copper-wall",
+(176, 178, 128): "core-foundation",
+(176, 182, 128): "core-nucleus",
+(176, 182, 159): "core-shard",
+(152, 154, 164): "cryofluid-mixer",
+(110, 112, 156): "cultivator",
+(123, 123, 123): "cyclone",
+(128, 112, 128): "deconstructor",
+(176, 154, 143): "differential-generator",
+(152, 154, 128): "diode",
+(168, 136, 128): "disassembler",
+(110, 112, 128): "distributor",
+(154, 159, 180): "door-large",
+(154, 159, 180): "door",
+(110, 112, 128): "duct-bridge",
+(110, 112, 128): "duct-router",
+(82, 83, 93): "duct",
+(143, 102, 91): "duo",
+(110, 112, 128): "exponential-reconstructor",
+(152, 154, 163): "force-projector",
+(123, 123, 121): "foreshadow",
+(110, 116, 128): "fuse",
+(142, 144, 154): "graphite-press",
+(110, 112, 128): "ground-factory",
+(143, 112, 128): "hail",
+(152, 146, 164): "hyper-processor",
+(169, 173, 183): "illuminator",
+(176, 136, 128): "impact-reactor",
+(110, 84, 83): "incinerator",
+(152, 154, 164): "interplanetary-accelerator",
+(110, 112, 107): "inverted-sorter",
+(110, 112, 107): "item-source",
+(110, 112, 107): "item-void",
+(110, 112, 128): "junction",
+(152, 154, 143): "kiln",
+(138, 154, 192): "lancer",
+(143, 112, 128): "large-constructor",
+(86, 86, 102): "large-logic-display",
+(152, 146, 164): "laser-drill",
+(152, 154, 128): "launch-pad",
+(136, 154, 188): "liquid-container-full.png",
+(136, 154, 188): "liquid-container",
+(176, 185, 192): "liquid-junction",
+(110, 112, 128): "liquid-router-full.png",
+(110, 112, 128): "liquid-router",
+(176, 154, 126): "liquid-source",
+(136, 154, 192): "liquid-tank-full.png",
+(136, 154, 192): "liquid-tank",
+(176, 154, 159): "liquid-void",
+(86, 86, 102): "logic-display",
+(152, 146, 164): "logic-processor",
+(152, 154, 164): "mass-driver",
+(152, 135, 108): "mechanical-drill",
+(152, 154, 143): "mechanical-pump",
+(123, 116, 119): "meltdown",
+(176, 149, 128): "melter",
+(110, 112, 128): "memory-bank",
+(110, 112, 128): "memory-cell",
+(132, 174, 144): "mender",
+(132, 174, 144): "mend-projector",
+(110, 112, 128): "message",
+(152, 146, 164): "micro-processor",
+(110, 112, 128): "multiplicative-reconstructor",
+(110, 112, 128): "multi-press",
+(110, 112, 128): "naval-factory",
+(152, 154, 164): "oil-extractor",
+(0, 0, 0): "ore-coal",
+(0, 0, 0): "ore-copper",
+(0, 0, 0): "ore-lead",
+(0, 0, 0): "ore-scrap",
+(0, 0, 0): "ore-thorium",
+(0, 0, 0): "ore-titanium",
+(176, 154, 128): "overdrive-dome",
+(176, 154, 128): "overdrive-projector",
+(110, 112, 128): "overflow-gate",
+(152, 154, 164): "parallax",
+(74, 75, 83): "payload-conveyor",
+(106, 107, 128): "payload-loader",
+(152, 141, 128): "payload-propulsion-tower",
+(110, 112, 128): "payload-router",
+(110, 112, 126): "payload-source",
+(110, 112, 123): "payload-unloader",
+(110, 112, 128): "payload-void",
+(136, 154, 192): "phase-conduit",
+(176, 154, 128): "phase-conveyor",
+(239, 201, 152): "phase-wall-large",
+(239, 201, 152): "phase-wall",
+(176, 178, 128): "phase-weaver",
+(152, 161, 164): "plastanium-compressor",
+(74, 75, 83): "plastanium-conveyor",
+(203, 216, 126): "plastanium-wall-large",
+(203, 216, 126): "plastanium-wall",
+(110, 112, 155): "plated-conduit",
+(152, 154, 164): "pneumatic-drill",
+(176, 185, 128): "power-node-large",
+(176, 185, 128): "power-node",
+(176, 154, 128): "power-source",
+(173, 149, 103): "power-void",
+(111, 128, 205): "pulse-conduit",
+(110, 112, 128): "pulverizer",
+(152, 154, 163): "pyratite-mixer",
+(110, 112, 128): "repair-point",
+(110, 154, 128): "repair-turret",
+(123, 123, 123): "ripple",
+(136, 154, 192): "rotary-pump",
+(110, 112, 128): "router",
+(110, 112, 159): "rtg-generator",
+(149, 154, 143): "salvo",
+(123, 123, 123): "scatter",
+(138, 112, 128): "scorch",
+(154, 159, 180): "scrap-wall-gigantic",
+(154, 159, 180): "scrap-wall-huge",
+(154, 159, 180): "scrap-wall-large",
+(154, 159, 180): "scrap-wall",
+(152, 154, 164): "segment",
+(152, 154, 128): "separator",
+(74, 75, 83): "shock-mine",
+(111, 112, 126): "silicon-crucible",
+(144, 145, 156): "silicon-smelter",
+(110, 112, 128): "solar-panel-large",
+(110, 112, 128): "solar-panel",
+(110, 112, 128): "sorter",
+(179, 48, 48): "spawn",
+(123, 116, 123): "spectre",
+(152, 149, 164): "spore-press",
+(152, 154, 164): "steam-generator",
+(176, 178, 136): "surge-tower",
+(232, 208, 116): "surge-wall-large",
+(232, 208, 116): "surge-wall",
+(110, 112, 120): "swarmer",
+(110, 112, 128): "switch",
+(110, 112, 128): "tetrative-reconstructor",
+(176, 154, 128): "thermal-generator",
+(176, 146, 128): "thermal-pump",
+(110, 112, 132): "thorium-reactor",
+(128, 117, 165): "thorium-wall-large",
+(128, 117, 165): "thorium-wall",
+(154, 159, 180): "thruster",
+(78, 79, 88): "titanium-conveyor",
+(104, 116, 196): "titanium-wall-large",
+(104, 116, 196): "titanium-wall",
+(110, 116, 128): "tsunami",
+(110, 112, 126): "underflow-gate",
+(152, 154, 159): "unloader",
+(173, 157, 164): "vault",
+(136, 154, 164): "water-extractor",
+(143, 152, 143): "wave",
+}
diff --git a/pix2msch/core.py b/pix2msch/core.py
new file mode 100644
index 0000000..990ae1e
--- /dev/null
+++ b/pix2msch/core.py
@@ -0,0 +1,156 @@
+try:
+ import struct, zlib, os, base64
+ from PIL import Image
+except Exception as e:
+ print("You're missing a package!")
+ print()
+ print(e)
+ input()
+
+colorarray = [
+ 217, 157, 115,
+ 140, 127, 169,
+ 235, 238, 245,
+ 178, 198, 210,
+ 247, 203, 164,
+ 39, 39, 39,
+ 141, 161, 227,
+ 249, 163, 199,
+ 119, 119, 119,
+ 83, 86, 92,
+ 203,217, 127,
+ 244,186, 110,
+ 243, 233, 121,
+ 116, 87, 206,
+ 255, 121, 94,
+ 255, 170, 95
+ ]
+
+#convert array of ints into a list of tuples, then into a palette
+tuple_array = [tuple(colorarray[t*3:t*3+3]) for t in range(len(colorarray)//3)]
+palette = Image.new("P", (16, 16))
+palette.putpalette(colorarray*16)
+palette.load()
+
+def quantize(img, dither, transparency_treshold):
+ #invalid input checking
+ img = Image.open(img)
+ transparency_treshold = int(transparency_treshold)
+
+ #sphagetti
+ img = img.convert("RGBA") # image
+ imgq = img.convert("RGB") # fully opaque image
+ imgq = imgq._new(imgq.im.convert("P", 1 if dither else 0, palette.im)) #where the actual quantization happens
+
+ imgA = Image.new("RGBA", img.size)
+ pixels = imgA.load()
+ imgq = imgq.convert("RGB")
+
+ for y in range(img.size[1]):
+ for x in range(img.size[0]):
+ if img.getpixel((x, y))[3] >= transparency_treshold: #transparency treshold
+ pixels[x, y] = imgq.getpixel((x, y))
+ else:
+ pixels[x, y] = (0, 0, 0, 0)
+
+ # print("Quantization complete")
+
+ return imgA
+
+
+# imgfile - Path to the image
+# name - Name of the schematic
+# save_location - Save location, i guess
+# dither - Whether to use dithering (True or False, 1 or 0)
+# transparency_treshold - Below which alpha level to stop displaying (0-255), where 0 is show everything and 255 is show only fully opaque
+# mode - Either "path" or "clipboard". Whether to save the schematic as .msch or to copy it into clipboard
+
+def pix2msch(imgfile = None,
+ name = "schematic",
+ save_location = None,
+ dither = True,
+ transparency_treshold = 127,
+ mode = "path"
+ ): #sad face
+
+ tiles = []
+ #input checking
+ if mode == "path" and not(os.path.isdir(os.path.expandvars(save_location))):
+ print("not a path")
+ exit()
+
+ img = quantize(imgfile, dither, transparency_treshold)
+
+ img = img.rotate(-90, expand=True)
+
+ width, height = img.size
+ for y in range(height):
+ for x in range(width):
+ if img.getpixel((x, y))[3] > 1:
+ tiles.append((x, y, tuple_array.index(img.getpixel((x, y))[0:3])))
+
+ # print("Converted pixels into an array of tiles")
+
+ class ByteBuffer(): #so desparate i had to write my own byte buffer
+ def __init__(self, data=bytearray()):
+ self.data = data
+
+ def writeShort(self, int):
+ self.data += struct.pack(">H", int)
+
+ def writeUTF(self, str):
+ self.writeShort(len(str))
+ self.data += bytes(str.encode("UTF"))
+
+ def writeByte(self, int):
+ self.data += struct.pack("b", int)
+
+ def writeInt(self, int):
+ self.data += struct.pack(">i", int)
+
+ #write header and all of that stuff
+ data = ByteBuffer()
+
+ data.writeShort(height)
+ data.writeShort(width)
+
+ data.writeByte(1)
+
+ data.writeUTF("name")
+ data.writeUTF(name)
+
+ data.writeByte(1)
+
+ data.writeUTF("sorter")
+ data.writeInt(len(tiles))
+
+ # print("Header written")
+
+ for tile in tiles: #write tiles
+ data.writeByte(0)
+ data.writeShort(tile[1])
+ data.writeShort(tile[0])
+ data.writeInt(tile[2])
+ data.writeByte(0)
+
+ # print("Tile data written")
+
+
+ if mode == "path":
+ os.chdir(os.path.expandvars(save_location))
+ file = open(name + ".msch", "wb")
+ file.write(b"msch\x00"+zlib.compress(data.data))
+ file.close()
+
+ # print("Successfully saved {0} ".format(name + ".msch"))
+
+ else:
+ try:
+ import pyperclip
+ except ImportError:
+ print("To use this feature, you need to have the pyperclip module")
+ exit()
+ else:
+ pyperclip.copy(base64.standard_b64encode(b"msch\x00"+zlib.compress(data.data)).decode())
+ print("Schematic converted to base64, and put into clipboard")
+
diff --git a/pix2msch/modified from ado1928⁄pix2msch b/pix2msch/modified from ado1928⁄pix2msch
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/pix2msch/modified from ado1928⁄pix2msch
@@ -0,0 +1 @@
+
diff --git a/pix2msch/my.py b/pix2msch/my.py
new file mode 100755
index 0000000..1ed76fe
--- /dev/null
+++ b/pix2msch/my.py
@@ -0,0 +1,23 @@
+#!/bin/env python
+import argparse
+
+try:
+ import core
+except ImportError:
+ print("Could not import!")
+
+
+parser = argparse.ArgumentParser()
+parser.add_argument("-input", "-i", help="Input file", required=True)
+parser.add_argument("-output", "-o", help="Output directory", required=True)
+parser.add_argument("-name", "-n", help="Name", required=True)
+
+args = parser.parse_args()
+
+core.pix2msch(
+ args.input,
+ args.name,
+ args.output,
+ False,
+ 200,
+ "path")
diff --git a/schem_creation/MSchemGen b/schem_creation/MSchemGen
new file mode 160000
+Subproject 560c12928ff04137e86bda3b9367ed6766e01a4
diff --git a/schem_creation/img2json/avgcolor.py b/schem_creation/img2json/avgcolor.py
new file mode 100755
index 0000000..6e81672
--- /dev/null
+++ b/schem_creation/img2json/avgcolor.py
@@ -0,0 +1,15 @@
+#!/bin/python
+from PIL import Image, ImageStat
+from argparse import ArgumentParser
+
+parser = ArgumentParser("yes")
+parser.add_argument("image", help="image to convert")
+
+
+def median(image):
+ img = Image.open(image)
+
+ return tuple(ImageStat.Stat(img).median[:3]) # :3 :3
+
+
+print(median(parser.parse_args().image))
diff --git a/schem_creation/img2json/main.py b/schem_creation/img2json/main.py
new file mode 100755
index 0000000..d16d6c6
--- /dev/null
+++ b/schem_creation/img2json/main.py
@@ -0,0 +1,258 @@
+#!/bin/python
+"""purpose: convert specific image colors to json"""
+
+
+from PIL import Image
+import json
+from argparse import ArgumentParser
+from rich.console import Console
+console = Console()
+
+colors = {
+ (0, 0, 255): "water",
+ (110, 112, 128): "additive-reconstructor",
+ (110, 112, 128): "air-factory",
+ (154, 149, 128): "alloy-smelter",
+ (138, 144, 178): "arc",
+ (78, 79, 88): "armored-conveyor",
+ (176, 154, 143): "battery-large",
+ (176, 185, 128): "battery",
+ (152, 154, 128): "blast-drill",
+ (161, 154, 159): "blast-mixer",
+ (82, 82, 92): "boulder",
+ (152, 154, 164): "bridge-conduit",
+ (110, 112, 128): "bridge-conveyor",
+ (156, 182, 164): "coal-centrifuge",
+ (176, 165, 128): "combustion-generator",
+ (152, 154, 164): "command-center",
+ (110, 112, 128): "conduit",
+ (143, 112, 128): "constructor",
+ (154, 154, 164): "container",
+ (78, 79, 88): "conveyor",
+ (177, 135, 104): "copper-wall-large",
+ (177, 135, 104): "copper-wall",
+ (176, 178, 128): "core-foundation",
+ (176, 182, 128): "core-nucleus",
+ (176, 182, 159): "core-shard",
+ (152, 154, 164): "cryofluid-mixer",
+ (110, 112, 156): "cultivator",
+ (123, 123, 123): "cyclone",
+ (128, 112, 128): "deconstructor",
+ (176, 154, 143): "differential-generator",
+ (152, 154, 128): "diode",
+ (168, 136, 128): "disassembler",
+ (110, 112, 128): "distributor",
+ (154, 159, 180): "door-large",
+ (154, 159, 180): "door",
+ (110, 112, 128): "duct-bridge",
+ (110, 112, 128): "duct-router",
+ (82, 83, 93): "duct",
+ (143, 102, 91): "duo",
+ (110, 112, 128): "exponential-reconstructor",
+ (152, 154, 163): "force-projector",
+ (123, 123, 121): "foreshadow",
+ (110, 116, 128): "fuse",
+ (142, 144, 154): "graphite-press",
+ (110, 112, 128): "ground-factory",
+ (143, 112, 128): "hail",
+ (152, 146, 164): "hyper-processor",
+ (169, 173, 183): "illuminator",
+ (176, 136, 128): "impact-reactor",
+ (110, 84, 83): "incinerator",
+ (152, 154, 164): "interplanetary-accelerator",
+ (110, 112, 107): "inverted-sorter",
+ (110, 112, 107): "item-source",
+ (110, 112, 107): "item-void",
+ (110, 112, 128): "junction",
+ (152, 154, 143): "kiln",
+ (138, 154, 192): "lancer",
+ (143, 112, 128): "large-constructor",
+ (86, 86, 102): "large-logic-display",
+ (152, 146, 164): "laser-drill",
+ (152, 154, 128): "launch-pad",
+ (136, 154, 188): "liquid-container-full.png",
+ (136, 154, 188): "liquid-container",
+ (176, 185, 192): "liquid-junction",
+ (110, 112, 128): "liquid-router-full.png",
+ (110, 112, 128): "liquid-router",
+ (176, 154, 126): "liquid-source",
+ (136, 154, 192): "liquid-tank-full.png",
+ (136, 154, 192): "liquid-tank",
+ (176, 154, 159): "liquid-void",
+ (86, 86, 102): "logic-display",
+ (152, 146, 164): "logic-processor",
+ (152, 154, 164): "mass-driver",
+ (152, 135, 108): "mechanical-drill",
+ (152, 154, 143): "mechanical-pump",
+ (123, 116, 119): "meltdown",
+ (176, 149, 128): "melter",
+ (110, 112, 128): "memory-bank",
+ (110, 112, 128): "memory-cell",
+ (132, 174, 144): "mender",
+ (132, 174, 144): "mend-projector",
+ (110, 112, 128): "message",
+ (152, 146, 164): "micro-processor",
+ (110, 112, 128): "multiplicative-reconstructor",
+ (110, 112, 128): "multi-press",
+ (110, 112, 128): "naval-factory",
+ (152, 154, 164): "oil-extractor",
+ (53, 53, 53): "ore-coal",
+ (174, 124, 91): "ore-copper",
+ (142, 133, 162): "ore-lead",
+ (155, 146, 139): "ore-scrap",
+ (205, 159, 207): "ore-thorium",
+ (96, 107, 184): "ore-titanium",
+ (176, 154, 128): "overdrive-dome",
+ (176, 154, 128): "overdrive-projector",
+ (110, 112, 129): "overflow-gate",
+ (152, 154, 164): "parallax",
+ (74, 75, 83): "payload-conveyor",
+ (106, 107, 128): "payload-loader",
+ (152, 141, 128): "payload-propulsion-tower",
+ (110, 112, 128): "payload-router",
+ (110, 112, 126): "payload-source",
+ (110, 112, 123): "payload-unloader",
+ (110, 112, 128): "payload-void",
+ (136, 154, 192): "phase-conduit",
+ (176, 154, 128): "phase-conveyor",
+ (239, 201, 152): "phase-wall-large",
+ (239, 201, 152): "phase-wall",
+ (176, 178, 128): "phase-weaver",
+ (152, 161, 164): "plastanium-compressor",
+ (74, 75, 83): "plastanium-conveyor",
+ (203, 216, 126): "plastanium-wall-large",
+ (203, 216, 126): "plastanium-wall",
+ (110, 112, 155): "plated-conduit",
+ (152, 154, 164): "pneumatic-drill",
+ (176, 185, 128): "power-node-large",
+ (176, 185, 128): "power-node",
+ (176, 154, 128): "power-source",
+ (173, 149, 103): "power-void",
+ (111, 128, 205): "pulse-conduit",
+ (110, 112, 128): "pulverizer",
+ (152, 154, 163): "pyratite-mixer",
+ (110, 112, 128): "repair-point",
+ (110, 154, 128): "repair-turret",
+ (123, 123, 123): "ripple",
+ (136, 154, 192): "rotary-pump",
+ (110, 112, 128): "router",
+ (110, 112, 159): "rtg-generator",
+ (149, 154, 143): "salvo",
+ (123, 123, 123): "scatter",
+ (138, 112, 128): "scorch",
+ (154, 159, 180): "scrap-wall-gigantic",
+ (154, 159, 180): "scrap-wall-huge",
+ (154, 159, 180): "scrap-wall-large",
+ (154, 159, 180): "scrap-wall",
+ (152, 154, 164): "segment",
+ (152, 154, 128): "separator",
+ (74, 75, 83): "shock-mine",
+ (111, 112, 126): "silicon-crucible",
+ (144, 145, 156): "silicon-smelter",
+ # (110, 112, 128): "solar-panel-large",
+ # (110, 112, 128): "solar-panel",
+ # (110, 112, 128): "sorter",
+ (179, 48, 48): "spawn",
+ (123, 116, 123): "spectre",
+ (152, 149, 164): "spore-press",
+ (152, 154, 164): "steam-generator",
+ (176, 178, 136): "surge-tower",
+ (232, 208, 116): "surge-wall-large",
+ (232, 208, 116): "surge-wall",
+ (110, 112, 120): "swarmer",
+ # (110, 112, 128): "switch",
+ # (110, 112, 128): "tetrative-reconstructor",
+ (176, 154, 128): "thermal-generator",
+ (176, 146, 128): "thermal-pump",
+ (110, 112, 132): "thorium-reactor",
+ (128, 117, 165): "thorium-wall-large",
+ (128, 117, 165): "thorium-wall",
+ (154, 159, 180): "thruster",
+ (78, 79, 88): "titanium-conveyor",
+ (104, 116, 196): "titanium-wall-large",
+ (104, 116, 196): "titanium-wall",
+ (110, 116, 128): "tsunami",
+ (110, 112, 126): "underflow-gate",
+ (152, 154, 159): "unloader",
+ (173, 157, 164): "vault",
+ (136, 154, 164): "water-extractor",
+ (143, 152, 143): "wave",
+}
+
+
+def rgb_to_hex(rgb):
+ """converts rgb to hex"""
+ return "#%02x%02x%02x" % tuple(rgb)
+
+
+def escape(color, text):
+ r, g, b = color
+ return f"\u001b[1m\u001b[38;2;{r};{g};{b}m{text}"
+
+
+if __name__ == "__main__":
+ parser = ArgumentParser(
+ "objective(c): convert specific image colors to msch")
+ parser.add_argument("-i", "--image", dest="image",
+ help="image(s) to convert, when using multiple images will layer them", nargs="+")
+ parser.add_argument("-o", "--output", dest="output",
+ help="output file(s)", type=str)
+ parser.add_argument("-l", "--list", dest="list",
+ action="store_true", help="list all colors, and exit")
+ parser.add_argument("-n", "--name", dest="name",
+ help="name to use", default="test", nargs="*")
+ parser.add_argument("-d", "--description",
+ dest="description", help="description", default="testonks", nargs="*")
+
+ args = parser.parse_args()
+ args.name = " ".join(args.name)
+ args.description = " ".join(args.description)
+
+ if args.list:
+ for key, item in colors.items():
+ print(escape(key, f"{item}: {rgb_to_hex(key)}"))
+ exit(0)
+ if args.image is None:
+ raise IOError("image not specified")
+ if args.output is None:
+ raise IOError("output not specified")
+
+ out = {
+ "name": args.name,
+ "description": args.description,
+ "tags": ["fuck@you"],
+ "width": 0,
+ "height": 0,
+ "blocks": []
+ }
+
+ for i, img in enumerate(args.image):
+ parsedimg = Image.open(img)
+ pix = parsedimg.load()
+ width, height = parsedimg.size
+ if i != 0:
+ if width != out["width"] or height != out["height"]:
+ raise IOError("all images must be the same size!")
+ out["width"] = width
+ out["height"] = height
+ console.log(f"working on image {i+1}: img")
+ for x in range(width):
+ for y in range(height):
+ pixcolor = pix[x, y][:3] # :3
+ r, g, b = pixcolor
+ if pixcolor in colors:
+ name = colors[pixcolor]
+ console.log(f"{name} found at {x}, {y}")
+ out["blocks"].append(
+ {
+ "type": name,
+ "x": x,
+ "y": y,
+ "rotation": 0,
+ "config": 0
+ }
+ )
+
+ console.log(out)
+ with open(args.output, "w") as f:
+ json.dump(out, f)
diff --git a/schem_creation/run.sh b/schem_creation/run.sh
new file mode 100755
index 0000000..bf52e83
--- /dev/null
+++ b/schem_creation/run.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+if [[ -n "$2" ]]; then
+ python img2json/main.py -i "$1" -o "$2" "${@:3}"
+ python MSchemGen/blueprint/main.py "$2" >/dev/null
+else
+ python MSchemGen/blueprint/main.py "$1" >/dev/null
+fi
+
+../main -msch a.msch
+viu /tmp/mindustry_schematics/image.png
diff --git a/schem_image/assets/sprites/blocks/campaign/interplanetary-accelerator-team.png b/schem_image/assets/sprites/blocks/campaign/interplanetary-accelerator-team.png
new file mode 100644
index 0000000..e141d97
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/campaign/interplanetary-accelerator-team.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/campaign/interplanetary-accelerator.png b/schem_image/assets/sprites/blocks/campaign/interplanetary-accelerator.png
new file mode 100644
index 0000000..41019a2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/campaign/interplanetary-accelerator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/campaign/launch-pad-large.png b/schem_image/assets/sprites/blocks/campaign/launch-pad-large.png
new file mode 100644
index 0000000..5eee359
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/campaign/launch-pad-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/campaign/launch-pad-light.png b/schem_image/assets/sprites/blocks/campaign/launch-pad-light.png
new file mode 100644
index 0000000..bf9ab10
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/campaign/launch-pad-light.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/campaign/launch-pad.png b/schem_image/assets/sprites/blocks/campaign/launch-pad.png
new file mode 100644
index 0000000..ede41f8
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/campaign/launch-pad.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/campaign/launchpod.png b/schem_image/assets/sprites/blocks/campaign/launchpod.png
new file mode 100644
index 0000000..05d80fc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/campaign/launchpod.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/alloy-smelter.png b/schem_image/assets/sprites/blocks/crafting/alloy-smelter.png
new file mode 100644
index 0000000..f9a0a1f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/alloy-smelter.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/blast-mixer.png b/schem_image/assets/sprites/blocks/crafting/blast-mixer.png
new file mode 100644
index 0000000..52e7a30
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/blast-mixer.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/coal-centrifuge.png b/schem_image/assets/sprites/blocks/crafting/coal-centrifuge.png
new file mode 100644
index 0000000..33509c7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/coal-centrifuge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/cryofluid-mixer-top.png b/schem_image/assets/sprites/blocks/crafting/cryofluid-mixer-top.png
new file mode 100644
index 0000000..3bb5abe
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/cryofluid-mixer-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/cryofluid-mixer.png b/schem_image/assets/sprites/blocks/crafting/cryofluid-mixer.png
new file mode 100644
index 0000000..b9bc65a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/cryofluid-mixer.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/disassembler-spinner.png b/schem_image/assets/sprites/blocks/crafting/disassembler-spinner.png
new file mode 100644
index 0000000..8a7c2bd
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/disassembler-spinner.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/disassembler.png b/schem_image/assets/sprites/blocks/crafting/disassembler.png
new file mode 100644
index 0000000..7dbfcb1
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/disassembler.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/graphite-press.png b/schem_image/assets/sprites/blocks/crafting/graphite-press.png
new file mode 100644
index 0000000..fd5a8e7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/graphite-press.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/incinerator.png b/schem_image/assets/sprites/blocks/crafting/incinerator.png
new file mode 100644
index 0000000..839acac
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/incinerator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/kiln.png b/schem_image/assets/sprites/blocks/crafting/kiln.png
new file mode 100644
index 0000000..d3aaec4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/kiln.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/melter.png b/schem_image/assets/sprites/blocks/crafting/melter.png
new file mode 100644
index 0000000..f499dd9
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/melter.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/multi-press.png b/schem_image/assets/sprites/blocks/crafting/multi-press.png
new file mode 100644
index 0000000..fac4209
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/multi-press.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/phase-weaver-bottom.png b/schem_image/assets/sprites/blocks/crafting/phase-weaver-bottom.png
new file mode 100644
index 0000000..e05f72e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/phase-weaver-bottom.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/phase-weaver-weave.png b/schem_image/assets/sprites/blocks/crafting/phase-weaver-weave.png
new file mode 100644
index 0000000..b6dd7d2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/phase-weaver-weave.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/phase-weaver.png b/schem_image/assets/sprites/blocks/crafting/phase-weaver.png
new file mode 100644
index 0000000..282d9bc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/phase-weaver.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/plastanium-compressor.png b/schem_image/assets/sprites/blocks/crafting/plastanium-compressor.png
new file mode 100644
index 0000000..fa43d0b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/plastanium-compressor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/pulverizer-rotator.png b/schem_image/assets/sprites/blocks/crafting/pulverizer-rotator.png
new file mode 100644
index 0000000..72cd249
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/pulverizer-rotator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/pulverizer.png b/schem_image/assets/sprites/blocks/crafting/pulverizer.png
new file mode 100644
index 0000000..d10680f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/pulverizer.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/pyratite-mixer.png b/schem_image/assets/sprites/blocks/crafting/pyratite-mixer.png
new file mode 100644
index 0000000..fa1d0be
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/pyratite-mixer.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/separator-spinner.png b/schem_image/assets/sprites/blocks/crafting/separator-spinner.png
new file mode 100644
index 0000000..e09e119
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/separator-spinner.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/separator.png b/schem_image/assets/sprites/blocks/crafting/separator.png
new file mode 100644
index 0000000..cefbb02
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/separator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/silicon-crucible.png b/schem_image/assets/sprites/blocks/crafting/silicon-crucible.png
new file mode 100644
index 0000000..9e0f352
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/silicon-crucible.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/silicon-smelter.png b/schem_image/assets/sprites/blocks/crafting/silicon-smelter.png
new file mode 100644
index 0000000..a101a35
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/silicon-smelter.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/spore-press-top.png b/schem_image/assets/sprites/blocks/crafting/spore-press-top.png
new file mode 100644
index 0000000..86cc8ce
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/spore-press-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/crafting/spore-press.png b/schem_image/assets/sprites/blocks/crafting/spore-press.png
new file mode 100644
index 0000000..ae5aee8
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/crafting/spore-press.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/copper-wall-large.png b/schem_image/assets/sprites/blocks/defense/copper-wall-large.png
new file mode 100644
index 0000000..00e890d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/copper-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/copper-wall.png b/schem_image/assets/sprites/blocks/defense/copper-wall.png
new file mode 100644
index 0000000..3f4ae89
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/copper-wall.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/door-large-open.png b/schem_image/assets/sprites/blocks/defense/door-large-open.png
new file mode 100644
index 0000000..b099e0d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/door-large-open.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/door-large.png b/schem_image/assets/sprites/blocks/defense/door-large.png
new file mode 100644
index 0000000..d667bd7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/door-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/door-open.png b/schem_image/assets/sprites/blocks/defense/door-open.png
new file mode 100644
index 0000000..c4f7b79
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/door-open.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/door.png b/schem_image/assets/sprites/blocks/defense/door.png
new file mode 100644
index 0000000..92ac126
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/door.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/force-projector-top.png b/schem_image/assets/sprites/blocks/defense/force-projector-top.png
new file mode 100644
index 0000000..540cc9b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/force-projector-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/force-projector.png b/schem_image/assets/sprites/blocks/defense/force-projector.png
new file mode 100644
index 0000000..c69e986
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/force-projector.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/mend-projector-top.png b/schem_image/assets/sprites/blocks/defense/mend-projector-top.png
new file mode 100644
index 0000000..24c80c0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/mend-projector-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/mend-projector.png b/schem_image/assets/sprites/blocks/defense/mend-projector.png
new file mode 100644
index 0000000..b2872d4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/mend-projector.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/mender-top.png b/schem_image/assets/sprites/blocks/defense/mender-top.png
new file mode 100644
index 0000000..c1feb99
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/mender-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/mender.png b/schem_image/assets/sprites/blocks/defense/mender.png
new file mode 100644
index 0000000..4661e33
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/mender.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/overdrive-dome-top.png b/schem_image/assets/sprites/blocks/defense/overdrive-dome-top.png
new file mode 100644
index 0000000..4daa23b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/overdrive-dome-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/overdrive-dome.png b/schem_image/assets/sprites/blocks/defense/overdrive-dome.png
new file mode 100644
index 0000000..6bf8371
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/overdrive-dome.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/overdrive-projector-top.png b/schem_image/assets/sprites/blocks/defense/overdrive-projector-top.png
new file mode 100644
index 0000000..5b51c8d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/overdrive-projector-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/overdrive-projector.png b/schem_image/assets/sprites/blocks/defense/overdrive-projector.png
new file mode 100644
index 0000000..65239b2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/overdrive-projector.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/phase-wall-large.png b/schem_image/assets/sprites/blocks/defense/phase-wall-large.png
new file mode 100644
index 0000000..daac191
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/phase-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/phase-wall.png b/schem_image/assets/sprites/blocks/defense/phase-wall.png
new file mode 100644
index 0000000..9cd08b7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/phase-wall.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/plastanium-wall-large.png b/schem_image/assets/sprites/blocks/defense/plastanium-wall-large.png
new file mode 100644
index 0000000..c819b34
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/plastanium-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/plastanium-wall.png b/schem_image/assets/sprites/blocks/defense/plastanium-wall.png
new file mode 100644
index 0000000..717e327
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/plastanium-wall.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/scrap-wall-gigantic.png b/schem_image/assets/sprites/blocks/defense/scrap-wall-gigantic.png
new file mode 100644
index 0000000..18bc950
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/scrap-wall-gigantic.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/scrap-wall-huge.png b/schem_image/assets/sprites/blocks/defense/scrap-wall-huge.png
new file mode 100644
index 0000000..b3a4c16
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/scrap-wall-huge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/scrap-wall-large.png b/schem_image/assets/sprites/blocks/defense/scrap-wall-large.png
new file mode 100644
index 0000000..289f3ad
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/scrap-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/scrap-wall-large2.png b/schem_image/assets/sprites/blocks/defense/scrap-wall-large2.png
new file mode 100644
index 0000000..5785da4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/scrap-wall-large2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/scrap-wall-large3.png b/schem_image/assets/sprites/blocks/defense/scrap-wall-large3.png
new file mode 100644
index 0000000..ef8b6e1
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/scrap-wall-large3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/scrap-wall-large4.png b/schem_image/assets/sprites/blocks/defense/scrap-wall-large4.png
new file mode 100644
index 0000000..b437560
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/scrap-wall-large4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/scrap-wall.png b/schem_image/assets/sprites/blocks/defense/scrap-wall.png
new file mode 100644
index 0000000..9b12ddf
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/scrap-wall.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/shock-mine.png b/schem_image/assets/sprites/blocks/defense/shock-mine.png
new file mode 100644
index 0000000..3a286f0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/shock-mine.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/surge-wall-large.png b/schem_image/assets/sprites/blocks/defense/surge-wall-large.png
new file mode 100644
index 0000000..e0cc1b8
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/surge-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/surge-wall.png b/schem_image/assets/sprites/blocks/defense/surge-wall.png
new file mode 100644
index 0000000..8dd6798
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/surge-wall.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/thorium-wall-large.png b/schem_image/assets/sprites/blocks/defense/thorium-wall-large.png
new file mode 100644
index 0000000..ef8f313
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/thorium-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/thorium-wall.png b/schem_image/assets/sprites/blocks/defense/thorium-wall.png
new file mode 100644
index 0000000..deb9ede
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/thorium-wall.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/thruster-top.png b/schem_image/assets/sprites/blocks/defense/thruster-top.png
new file mode 100644
index 0000000..0a6bf7f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/thruster-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/thruster.png b/schem_image/assets/sprites/blocks/defense/thruster.png
new file mode 100644
index 0000000..90be6bb
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/thruster.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/titanium-wall-large.png b/schem_image/assets/sprites/blocks/defense/titanium-wall-large.png
new file mode 100644
index 0000000..9242df7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/titanium-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/defense/titanium-wall.png b/schem_image/assets/sprites/blocks/defense/titanium-wall.png
new file mode 100644
index 0000000..6f3cb08
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/defense/titanium-wall.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/bridge-arrow.png b/schem_image/assets/sprites/blocks/distribution/bridge-arrow.png
new file mode 100644
index 0000000..e6c8859
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/bridge-arrow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/bridge-conveyor-arrow.png b/schem_image/assets/sprites/blocks/distribution/bridge-conveyor-arrow.png
new file mode 100644
index 0000000..b8b62bc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/bridge-conveyor-arrow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/bridge-conveyor-bridge.png b/schem_image/assets/sprites/blocks/distribution/bridge-conveyor-bridge.png
new file mode 100644
index 0000000..1ae054b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/bridge-conveyor-bridge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/bridge-conveyor-end.png b/schem_image/assets/sprites/blocks/distribution/bridge-conveyor-end.png
new file mode 100644
index 0000000..48d3f85
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/bridge-conveyor-end.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/bridge-conveyor.png b/schem_image/assets/sprites/blocks/distribution/bridge-conveyor.png
new file mode 100644
index 0000000..b6ca4c3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/bridge-conveyor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/center.png b/schem_image/assets/sprites/blocks/distribution/center.png
new file mode 100644
index 0000000..19def6b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/center.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-0-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-0-0.png
new file mode 100644
index 0000000..2995011
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-0-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-1-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-1-0.png
new file mode 100644
index 0000000..961cfc9
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-1-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-2-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-2-0.png
new file mode 100644
index 0000000..dde9319
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-2-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-3-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-3-0.png
new file mode 100644
index 0000000..a4e76f2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-3-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-4-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-4-0.png
new file mode 100644
index 0000000..868b0f4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/armored-conveyor-4-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-0-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-0-0.png
new file mode 100644
index 0000000..5f7264e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-0-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-1-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-1-0.png
new file mode 100644
index 0000000..c50b281
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-1-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-2-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-2-0.png
new file mode 100644
index 0000000..9dc27e1
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-2-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-3-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-3-0.png
new file mode 100644
index 0000000..0b92a66
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-3-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-4-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-4-0.png
new file mode 100644
index 0000000..adf781a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/conveyor-4-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-0.png
new file mode 100644
index 0000000..f4d50a7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-1.png b/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-1.png
new file mode 100644
index 0000000..7a44bfb
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-2.png b/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-2.png
new file mode 100644
index 0000000..bba8997
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-edge.png b/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-edge.png
new file mode 100644
index 0000000..5041f02
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor-edge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor.png b/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor.png
new file mode 100644
index 0000000..3f5fbf0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/plastanium-conveyor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-0-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-0-0.png
new file mode 100644
index 0000000..7cd0f41
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-0-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-1-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-1-0.png
new file mode 100644
index 0000000..0f8b737
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-1-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-2-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-2-0.png
new file mode 100644
index 0000000..a0f2ef7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-2-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-3-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-3-0.png
new file mode 100644
index 0000000..cdaa149
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-3-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-4-0.png b/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-4-0.png
new file mode 100644
index 0000000..b8fbdcf
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/conveyors/titanium-conveyor-4-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/cross.png b/schem_image/assets/sprites/blocks/distribution/cross.png
new file mode 100644
index 0000000..0d9dea8
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/cross.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/distributor.png b/schem_image/assets/sprites/blocks/distribution/distributor.png
new file mode 100644
index 0000000..c0cb720
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/distributor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-0.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-0.png
new file mode 100644
index 0000000..329fc2f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-1.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-1.png
new file mode 100644
index 0000000..6e793c7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-2.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-2.png
new file mode 100644
index 0000000..a2dd7b5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-3.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-3.png
new file mode 100644
index 0000000..a2dd7b5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-4.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-4.png
new file mode 100644
index 0000000..a2dd7b5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom-4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom.png
new file mode 100644
index 0000000..04cecf2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bottom.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-arrow.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-arrow.png
new file mode 100644
index 0000000..f47060e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-arrow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-bridge-bottom.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-bridge-bottom.png
new file mode 100644
index 0000000..1625679
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-bridge-bottom.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-bridge.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-bridge.png
new file mode 100644
index 0000000..ff853ce
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-bridge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-dir.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-dir.png
new file mode 100644
index 0000000..8349ac6
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge-dir.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge.png
new file mode 100644
index 0000000..428785c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-bridge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-router-top.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-router-top.png
new file mode 100644
index 0000000..f93d863
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-router-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-router.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-router.png
new file mode 100644
index 0000000..428785c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-router.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-0.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-0.png
new file mode 100644
index 0000000..04cd2ab
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-1.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-1.png
new file mode 100644
index 0000000..2e1b8c0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-2.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-2.png
new file mode 100644
index 0000000..10fde0b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-3.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-3.png
new file mode 100644
index 0000000..491efae
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-4.png b/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-4.png
new file mode 100644
index 0000000..adad9a7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/ducts/duct-top-4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/inverted-sorter.png b/schem_image/assets/sprites/blocks/distribution/inverted-sorter.png
new file mode 100644
index 0000000..e023e20
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/inverted-sorter.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/junction.png b/schem_image/assets/sprites/blocks/distribution/junction.png
new file mode 100644
index 0000000..5e1c876
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/junction.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/mass-driver-base.png b/schem_image/assets/sprites/blocks/distribution/mass-driver-base.png
new file mode 100644
index 0000000..4e52e76
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/mass-driver-base.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/mass-driver.png b/schem_image/assets/sprites/blocks/distribution/mass-driver.png
new file mode 100644
index 0000000..c798c13
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/mass-driver.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/overflow-gate.png b/schem_image/assets/sprites/blocks/distribution/overflow-gate.png
new file mode 100644
index 0000000..baf0fb0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/overflow-gate.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/phase-conveyor-arrow.png b/schem_image/assets/sprites/blocks/distribution/phase-conveyor-arrow.png
new file mode 100644
index 0000000..22198e8
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/phase-conveyor-arrow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/phase-conveyor-bridge.png b/schem_image/assets/sprites/blocks/distribution/phase-conveyor-bridge.png
new file mode 100644
index 0000000..176c3fc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/phase-conveyor-bridge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/phase-conveyor-end.png b/schem_image/assets/sprites/blocks/distribution/phase-conveyor-end.png
new file mode 100644
index 0000000..090155a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/phase-conveyor-end.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/phase-conveyor.png b/schem_image/assets/sprites/blocks/distribution/phase-conveyor.png
new file mode 100644
index 0000000..505269a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/phase-conveyor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/router.png b/schem_image/assets/sprites/blocks/distribution/router.png
new file mode 100644
index 0000000..5233503
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/router.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/sorter.png b/schem_image/assets/sprites/blocks/distribution/sorter.png
new file mode 100644
index 0000000..a4c8b37
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/sorter.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/distribution/underflow-gate.png b/schem_image/assets/sprites/blocks/distribution/underflow-gate.png
new file mode 100644
index 0000000..733b8cb
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/distribution/underflow-gate.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/basalt1.png b/schem_image/assets/sprites/blocks/environment/basalt1.png
new file mode 100644
index 0000000..4b14fe9
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/basalt1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/basalt2.png b/schem_image/assets/sprites/blocks/environment/basalt2.png
new file mode 100644
index 0000000..dab1932
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/basalt2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/basalt3.png b/schem_image/assets/sprites/blocks/environment/basalt3.png
new file mode 100644
index 0000000..8afeab4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/basalt3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/char1.png b/schem_image/assets/sprites/blocks/environment/char1.png
new file mode 100644
index 0000000..d8a1dae
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/char1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/char2.png b/schem_image/assets/sprites/blocks/environment/char2.png
new file mode 100644
index 0000000..c37787b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/char2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/char3.png b/schem_image/assets/sprites/blocks/environment/char3.png
new file mode 100644
index 0000000..c45e698
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/char3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/cliff.png b/schem_image/assets/sprites/blocks/environment/cliff.png
new file mode 100644
index 0000000..0ea51ef
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/cliff.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/cliff0.png b/schem_image/assets/sprites/blocks/environment/cliff0.png
new file mode 100644
index 0000000..17b24f6
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/cliff0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/cliff1.png b/schem_image/assets/sprites/blocks/environment/cliff1.png
new file mode 100644
index 0000000..03ff8db
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/cliff1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/cliff2.png b/schem_image/assets/sprites/blocks/environment/cliff2.png
new file mode 100644
index 0000000..dbf002c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/cliff2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/cliff3.png b/schem_image/assets/sprites/blocks/environment/cliff3.png
new file mode 100644
index 0000000..e78a6f2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/cliff3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/cliff4.png b/schem_image/assets/sprites/blocks/environment/cliff4.png
new file mode 100644
index 0000000..7800c59
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/cliff4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/cliff5.png b/schem_image/assets/sprites/blocks/environment/cliff5.png
new file mode 100644
index 0000000..2e71f80
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/cliff5.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/cliff6.png b/schem_image/assets/sprites/blocks/environment/cliff6.png
new file mode 100644
index 0000000..fceb598
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/cliff6.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/cliff7.png b/schem_image/assets/sprites/blocks/environment/cliff7.png
new file mode 100644
index 0000000..5978387
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/cliff7.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/coal1.png b/schem_image/assets/sprites/blocks/environment/coal1.png
new file mode 100644
index 0000000..8d93559
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/coal1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/coal2.png b/schem_image/assets/sprites/blocks/environment/coal2.png
new file mode 100644
index 0000000..0e02214
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/coal2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/coal3.png b/schem_image/assets/sprites/blocks/environment/coal3.png
new file mode 100644
index 0000000..710680c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/coal3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/copper1.png b/schem_image/assets/sprites/blocks/environment/copper1.png
new file mode 100644
index 0000000..a16a0d7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/copper1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/copper2.png b/schem_image/assets/sprites/blocks/environment/copper2.png
new file mode 100644
index 0000000..be68753
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/copper2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/copper3.png b/schem_image/assets/sprites/blocks/environment/copper3.png
new file mode 100644
index 0000000..8ff6eca
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/copper3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/craters1.png b/schem_image/assets/sprites/blocks/environment/craters1.png
new file mode 100644
index 0000000..7b04e35
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/craters1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/craters2.png b/schem_image/assets/sprites/blocks/environment/craters2.png
new file mode 100644
index 0000000..ae6dc91
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/craters2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/craters3.png b/schem_image/assets/sprites/blocks/environment/craters3.png
new file mode 100644
index 0000000..1cc1193
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/craters3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/craters4.png b/schem_image/assets/sprites/blocks/environment/craters4.png
new file mode 100644
index 0000000..62cfa1f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/craters4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/craters5.png b/schem_image/assets/sprites/blocks/environment/craters5.png
new file mode 100644
index 0000000..d163324
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/craters5.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/craters6.png b/schem_image/assets/sprites/blocks/environment/craters6.png
new file mode 100644
index 0000000..a504bcf
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/craters6.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dacite-wall-large.png b/schem_image/assets/sprites/blocks/environment/dacite-wall-large.png
new file mode 100644
index 0000000..93e88e2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dacite-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dacite-wall1.png b/schem_image/assets/sprites/blocks/environment/dacite-wall1.png
new file mode 100644
index 0000000..3f0f70e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dacite-wall1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dacite-wall2.png b/schem_image/assets/sprites/blocks/environment/dacite-wall2.png
new file mode 100644
index 0000000..07dd33a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dacite-wall2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dacite1.png b/schem_image/assets/sprites/blocks/environment/dacite1.png
new file mode 100644
index 0000000..07a7a19
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dacite1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dacite2.png b/schem_image/assets/sprites/blocks/environment/dacite2.png
new file mode 100644
index 0000000..f4e2ebe
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dacite2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dacite3.png b/schem_image/assets/sprites/blocks/environment/dacite3.png
new file mode 100644
index 0000000..1580a22
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dacite3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dark-metal-large.png b/schem_image/assets/sprites/blocks/environment/dark-metal-large.png
new file mode 100644
index 0000000..42a53db
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dark-metal-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dark-metal1.png b/schem_image/assets/sprites/blocks/environment/dark-metal1.png
new file mode 100644
index 0000000..ce65d4f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dark-metal1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dark-metal2.png b/schem_image/assets/sprites/blocks/environment/dark-metal2.png
new file mode 100644
index 0000000..42f7238
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dark-metal2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dark-panel-1.png b/schem_image/assets/sprites/blocks/environment/dark-panel-1.png
new file mode 100644
index 0000000..ea2d25e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dark-panel-1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dark-panel-2.png b/schem_image/assets/sprites/blocks/environment/dark-panel-2.png
new file mode 100644
index 0000000..117c0fd
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dark-panel-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dark-panel-3.png b/schem_image/assets/sprites/blocks/environment/dark-panel-3.png
new file mode 100644
index 0000000..382aaa7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dark-panel-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dark-panel-4.png b/schem_image/assets/sprites/blocks/environment/dark-panel-4.png
new file mode 100644
index 0000000..a69c9c2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dark-panel-4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dark-panel-5.png b/schem_image/assets/sprites/blocks/environment/dark-panel-5.png
new file mode 100644
index 0000000..b7d3e69
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dark-panel-5.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dark-panel-6.png b/schem_image/assets/sprites/blocks/environment/dark-panel-6.png
new file mode 100644
index 0000000..0c0423c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dark-panel-6.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/darksand-tainted-water.png b/schem_image/assets/sprites/blocks/environment/darksand-tainted-water.png
new file mode 100644
index 0000000..4a551c6
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/darksand-tainted-water.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/darksand-water.png b/schem_image/assets/sprites/blocks/environment/darksand-water.png
new file mode 100644
index 0000000..0d73187
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/darksand-water.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/darksand1.png b/schem_image/assets/sprites/blocks/environment/darksand1.png
new file mode 100644
index 0000000..d2464e4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/darksand1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/darksand2.png b/schem_image/assets/sprites/blocks/environment/darksand2.png
new file mode 100644
index 0000000..6faed6d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/darksand2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/darksand3.png b/schem_image/assets/sprites/blocks/environment/darksand3.png
new file mode 100644
index 0000000..8d3b199
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/darksand3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/deepwater.png b/schem_image/assets/sprites/blocks/environment/deepwater.png
new file mode 100644
index 0000000..f441f06
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/deepwater.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dirt-wall-large.png b/schem_image/assets/sprites/blocks/environment/dirt-wall-large.png
new file mode 100644
index 0000000..649410e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dirt-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dirt-wall1.png b/schem_image/assets/sprites/blocks/environment/dirt-wall1.png
new file mode 100644
index 0000000..6250aff
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dirt-wall1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dirt-wall2.png b/schem_image/assets/sprites/blocks/environment/dirt-wall2.png
new file mode 100644
index 0000000..4840a10
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dirt-wall2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dirt1.png b/schem_image/assets/sprites/blocks/environment/dirt1.png
new file mode 100644
index 0000000..1f2b788
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dirt1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dirt2.png b/schem_image/assets/sprites/blocks/environment/dirt2.png
new file mode 100644
index 0000000..40e8486
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dirt2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dirt3.png b/schem_image/assets/sprites/blocks/environment/dirt3.png
new file mode 100644
index 0000000..0bf0e1c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dirt3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dune-wall-large.png b/schem_image/assets/sprites/blocks/environment/dune-wall-large.png
new file mode 100644
index 0000000..2308259
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dune-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dune-wall1.png b/schem_image/assets/sprites/blocks/environment/dune-wall1.png
new file mode 100644
index 0000000..64d13b3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dune-wall1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/dune-wall2.png b/schem_image/assets/sprites/blocks/environment/dune-wall2.png
new file mode 100644
index 0000000..5e3efca
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/dune-wall2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/edge-stencil.png b/schem_image/assets/sprites/blocks/environment/edge-stencil.png
new file mode 100644
index 0000000..08f1898
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/edge-stencil.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/edge.png b/schem_image/assets/sprites/blocks/environment/edge.png
new file mode 100644
index 0000000..bd38d6c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/edge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/edgier.png b/schem_image/assets/sprites/blocks/environment/edgier.png
new file mode 100644
index 0000000..0e4e66c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/edgier.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/grass1.png b/schem_image/assets/sprites/blocks/environment/grass1.png
new file mode 100644
index 0000000..95e7adb
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/grass1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/grass2.png b/schem_image/assets/sprites/blocks/environment/grass2.png
new file mode 100644
index 0000000..2fa3e90
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/grass2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/grass3.png b/schem_image/assets/sprites/blocks/environment/grass3.png
new file mode 100644
index 0000000..6006976
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/grass3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/hotrock1.png b/schem_image/assets/sprites/blocks/environment/hotrock1.png
new file mode 100644
index 0000000..b21bcb1
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/hotrock1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/hotrock2.png b/schem_image/assets/sprites/blocks/environment/hotrock2.png
new file mode 100644
index 0000000..e6d108f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/hotrock2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/hotrock3.png b/schem_image/assets/sprites/blocks/environment/hotrock3.png
new file mode 100644
index 0000000..9741c88
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/hotrock3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/ice-snow1.png b/schem_image/assets/sprites/blocks/environment/ice-snow1.png
new file mode 100644
index 0000000..d2010a0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/ice-snow1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/ice-snow2.png b/schem_image/assets/sprites/blocks/environment/ice-snow2.png
new file mode 100644
index 0000000..5a0d545
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/ice-snow2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/ice-snow3.png b/schem_image/assets/sprites/blocks/environment/ice-snow3.png
new file mode 100644
index 0000000..4375ee7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/ice-snow3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/ice-wall-large.png b/schem_image/assets/sprites/blocks/environment/ice-wall-large.png
new file mode 100644
index 0000000..ac584bb
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/ice-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/ice-wall1.png b/schem_image/assets/sprites/blocks/environment/ice-wall1.png
new file mode 100644
index 0000000..6c29408
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/ice-wall1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/ice-wall2.png b/schem_image/assets/sprites/blocks/environment/ice-wall2.png
new file mode 100644
index 0000000..02e8c69
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/ice-wall2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/ice1.png b/schem_image/assets/sprites/blocks/environment/ice1.png
new file mode 100644
index 0000000..0379103
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/ice1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/ice2.png b/schem_image/assets/sprites/blocks/environment/ice2.png
new file mode 100644
index 0000000..0dda240
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/ice2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/ice3.png b/schem_image/assets/sprites/blocks/environment/ice3.png
new file mode 100644
index 0000000..72b2253
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/ice3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/lead1.png b/schem_image/assets/sprites/blocks/environment/lead1.png
new file mode 100644
index 0000000..31d590f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/lead1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/lead2.png b/schem_image/assets/sprites/blocks/environment/lead2.png
new file mode 100644
index 0000000..c88b0b6
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/lead2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/lead3.png b/schem_image/assets/sprites/blocks/environment/lead3.png
new file mode 100644
index 0000000..3c46737
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/lead3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/magmarock1.png b/schem_image/assets/sprites/blocks/environment/magmarock1.png
new file mode 100644
index 0000000..be1b8e5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/magmarock1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/magmarock2.png b/schem_image/assets/sprites/blocks/environment/magmarock2.png
new file mode 100644
index 0000000..f03bb5f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/magmarock2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/magmarock3.png b/schem_image/assets/sprites/blocks/environment/magmarock3.png
new file mode 100644
index 0000000..865a1c1
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/magmarock3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/metal-floor-2.png b/schem_image/assets/sprites/blocks/environment/metal-floor-2.png
new file mode 100644
index 0000000..4c89da7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/metal-floor-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/metal-floor-3.png b/schem_image/assets/sprites/blocks/environment/metal-floor-3.png
new file mode 100644
index 0000000..8b87059
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/metal-floor-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/metal-floor-5.png b/schem_image/assets/sprites/blocks/environment/metal-floor-5.png
new file mode 100644
index 0000000..9fc2603
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/metal-floor-5.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/metal-floor-damaged1.png b/schem_image/assets/sprites/blocks/environment/metal-floor-damaged1.png
new file mode 100644
index 0000000..1cfce7f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/metal-floor-damaged1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/metal-floor-damaged2.png b/schem_image/assets/sprites/blocks/environment/metal-floor-damaged2.png
new file mode 100644
index 0000000..078e5e7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/metal-floor-damaged2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/metal-floor-damaged3.png b/schem_image/assets/sprites/blocks/environment/metal-floor-damaged3.png
new file mode 100644
index 0000000..fbc9217
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/metal-floor-damaged3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/metal-floor.png b/schem_image/assets/sprites/blocks/environment/metal-floor.png
new file mode 100644
index 0000000..f60eff0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/metal-floor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/moss1.png b/schem_image/assets/sprites/blocks/environment/moss1.png
new file mode 100644
index 0000000..901ad18
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/moss1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/moss2.png b/schem_image/assets/sprites/blocks/environment/moss2.png
new file mode 100644
index 0000000..e429784
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/moss2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/moss3.png b/schem_image/assets/sprites/blocks/environment/moss3.png
new file mode 100644
index 0000000..b8f86a6
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/moss3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/mud1.png b/schem_image/assets/sprites/blocks/environment/mud1.png
new file mode 100644
index 0000000..2f5963c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/mud1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/mud2.png b/schem_image/assets/sprites/blocks/environment/mud2.png
new file mode 100644
index 0000000..2407ae4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/mud2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/mud3.png b/schem_image/assets/sprites/blocks/environment/mud3.png
new file mode 100644
index 0000000..a602c93
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/mud3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/pack.json b/schem_image/assets/sprites/blocks/environment/pack.json
new file mode 100644
index 0000000..fcd452d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/pack.json
@@ -0,0 +1,8 @@
+{
+ duplicatePadding: true,
+ combineSubdirectories: true,
+ flattenPaths: true,
+ maxWidth: 4096,
+ maxHeight: 4096,
+ fast: true
+}
diff --git a/schem_image/assets/sprites/blocks/environment/pebbles1.png b/schem_image/assets/sprites/blocks/environment/pebbles1.png
new file mode 100644
index 0000000..4dea187
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/pebbles1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/pebbles2.png b/schem_image/assets/sprites/blocks/environment/pebbles2.png
new file mode 100644
index 0000000..d334060
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/pebbles2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/pebbles3.png b/schem_image/assets/sprites/blocks/environment/pebbles3.png
new file mode 100644
index 0000000..fc87797
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/pebbles3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/pine.png b/schem_image/assets/sprites/blocks/environment/pine.png
new file mode 100644
index 0000000..6c20233
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/pine.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/salt-wall-large.png b/schem_image/assets/sprites/blocks/environment/salt-wall-large.png
new file mode 100644
index 0000000..c35319a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/salt-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/salt-wall1.png b/schem_image/assets/sprites/blocks/environment/salt-wall1.png
new file mode 100644
index 0000000..5c2d062
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/salt-wall1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/salt-wall2.png b/schem_image/assets/sprites/blocks/environment/salt-wall2.png
new file mode 100644
index 0000000..64a5726
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/salt-wall2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/salt.png b/schem_image/assets/sprites/blocks/environment/salt.png
new file mode 100644
index 0000000..4e7da75
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/salt.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/sand-wall-large.png b/schem_image/assets/sprites/blocks/environment/sand-wall-large.png
new file mode 100644
index 0000000..7d485d3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/sand-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/sand-wall1.png b/schem_image/assets/sprites/blocks/environment/sand-wall1.png
new file mode 100644
index 0000000..52612ac
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/sand-wall1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/sand-wall2.png b/schem_image/assets/sprites/blocks/environment/sand-wall2.png
new file mode 100644
index 0000000..76d0da2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/sand-wall2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/sand-water.png b/schem_image/assets/sprites/blocks/environment/sand-water.png
new file mode 100644
index 0000000..ab89796
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/sand-water.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/sand1.png b/schem_image/assets/sprites/blocks/environment/sand1.png
new file mode 100644
index 0000000..9ca1dda
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/sand1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/sand2.png b/schem_image/assets/sprites/blocks/environment/sand2.png
new file mode 100644
index 0000000..a29fb7a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/sand2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/sand3.png b/schem_image/assets/sprites/blocks/environment/sand3.png
new file mode 100644
index 0000000..bd3ed48
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/sand3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/scrap1.png b/schem_image/assets/sprites/blocks/environment/scrap1.png
new file mode 100644
index 0000000..8300bb3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/scrap1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/scrap2.png b/schem_image/assets/sprites/blocks/environment/scrap2.png
new file mode 100644
index 0000000..6597422
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/scrap2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/scrap3.png b/schem_image/assets/sprites/blocks/environment/scrap3.png
new file mode 100644
index 0000000..955c463
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/scrap3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/shale-wall-large.png b/schem_image/assets/sprites/blocks/environment/shale-wall-large.png
new file mode 100644
index 0000000..325945d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/shale-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/shale-wall1.png b/schem_image/assets/sprites/blocks/environment/shale-wall1.png
new file mode 100644
index 0000000..ba2180b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/shale-wall1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/shale-wall2.png b/schem_image/assets/sprites/blocks/environment/shale-wall2.png
new file mode 100644
index 0000000..08947b6
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/shale-wall2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/shale1.png b/schem_image/assets/sprites/blocks/environment/shale1.png
new file mode 100644
index 0000000..3e90cb0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/shale1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/shale2.png b/schem_image/assets/sprites/blocks/environment/shale2.png
new file mode 100644
index 0000000..2f6ddaf
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/shale2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/shale3.png b/schem_image/assets/sprites/blocks/environment/shale3.png
new file mode 100644
index 0000000..d17b8b3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/shale3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/shrubs-large.png b/schem_image/assets/sprites/blocks/environment/shrubs-large.png
new file mode 100644
index 0000000..f348a6b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/shrubs-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/shrubs1.png b/schem_image/assets/sprites/blocks/environment/shrubs1.png
new file mode 100644
index 0000000..7ce2de3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/shrubs1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/shrubs2.png b/schem_image/assets/sprites/blocks/environment/shrubs2.png
new file mode 100644
index 0000000..0bad1cd
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/shrubs2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/slag.png b/schem_image/assets/sprites/blocks/environment/slag.png
new file mode 100644
index 0000000..1467a11
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/slag.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/snow-pine.png b/schem_image/assets/sprites/blocks/environment/snow-pine.png
new file mode 100644
index 0000000..af82f26
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/snow-pine.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/snow-wall-large.png b/schem_image/assets/sprites/blocks/environment/snow-wall-large.png
new file mode 100644
index 0000000..0b9f028
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/snow-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/snow-wall1.png b/schem_image/assets/sprites/blocks/environment/snow-wall1.png
new file mode 100644
index 0000000..97101ce
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/snow-wall1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/snow-wall2.png b/schem_image/assets/sprites/blocks/environment/snow-wall2.png
new file mode 100644
index 0000000..dbdd7d2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/snow-wall2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/snow1.png b/schem_image/assets/sprites/blocks/environment/snow1.png
new file mode 100644
index 0000000..8d922c5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/snow1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/snow2.png b/schem_image/assets/sprites/blocks/environment/snow2.png
new file mode 100644
index 0000000..ab3a0be
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/snow2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/snow3.png b/schem_image/assets/sprites/blocks/environment/snow3.png
new file mode 100644
index 0000000..30d46ff
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/snow3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/space.png b/schem_image/assets/sprites/blocks/environment/space.png
new file mode 100644
index 0000000..bc38442
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/space.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/spawn.png b/schem_image/assets/sprites/blocks/environment/spawn.png
new file mode 100644
index 0000000..dc1a4c3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/spawn.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/spore-moss1.png b/schem_image/assets/sprites/blocks/environment/spore-moss1.png
new file mode 100644
index 0000000..37efcd5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/spore-moss1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/spore-moss2.png b/schem_image/assets/sprites/blocks/environment/spore-moss2.png
new file mode 100644
index 0000000..f089759
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/spore-moss2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/spore-moss3.png b/schem_image/assets/sprites/blocks/environment/spore-moss3.png
new file mode 100644
index 0000000..7e70aeb
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/spore-moss3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/spore-pine.png b/schem_image/assets/sprites/blocks/environment/spore-pine.png
new file mode 100644
index 0000000..c4f0ebf
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/spore-pine.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/spore-wall-large.png b/schem_image/assets/sprites/blocks/environment/spore-wall-large.png
new file mode 100644
index 0000000..df6ac62
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/spore-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/spore-wall1.png b/schem_image/assets/sprites/blocks/environment/spore-wall1.png
new file mode 100644
index 0000000..ee3ec9a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/spore-wall1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/spore-wall2.png b/schem_image/assets/sprites/blocks/environment/spore-wall2.png
new file mode 100644
index 0000000..638a1e3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/spore-wall2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/stone-wall-large.png b/schem_image/assets/sprites/blocks/environment/stone-wall-large.png
new file mode 100644
index 0000000..b967a8a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/stone-wall-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/stone-wall1.png b/schem_image/assets/sprites/blocks/environment/stone-wall1.png
new file mode 100644
index 0000000..7179dbe
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/stone-wall1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/stone-wall2.png b/schem_image/assets/sprites/blocks/environment/stone-wall2.png
new file mode 100644
index 0000000..9b83808
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/stone-wall2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/stone1.png b/schem_image/assets/sprites/blocks/environment/stone1.png
new file mode 100644
index 0000000..1747b84
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/stone1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/stone2.png b/schem_image/assets/sprites/blocks/environment/stone2.png
new file mode 100644
index 0000000..5d2c768
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/stone2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/stone3.png b/schem_image/assets/sprites/blocks/environment/stone3.png
new file mode 100644
index 0000000..c94e8d2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/stone3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/tainted-water.png b/schem_image/assets/sprites/blocks/environment/tainted-water.png
new file mode 100644
index 0000000..330aca5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/tainted-water.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/tar.png b/schem_image/assets/sprites/blocks/environment/tar.png
new file mode 100644
index 0000000..d959f6d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/tar.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/tendrils1.png b/schem_image/assets/sprites/blocks/environment/tendrils1.png
new file mode 100644
index 0000000..90345f2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/tendrils1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/tendrils2.png b/schem_image/assets/sprites/blocks/environment/tendrils2.png
new file mode 100644
index 0000000..b234cc4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/tendrils2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/tendrils3.png b/schem_image/assets/sprites/blocks/environment/tendrils3.png
new file mode 100644
index 0000000..e998b41
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/tendrils3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/thorium1.png b/schem_image/assets/sprites/blocks/environment/thorium1.png
new file mode 100644
index 0000000..b17c0a4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/thorium1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/thorium2.png b/schem_image/assets/sprites/blocks/environment/thorium2.png
new file mode 100644
index 0000000..da74d1e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/thorium2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/thorium3.png b/schem_image/assets/sprites/blocks/environment/thorium3.png
new file mode 100644
index 0000000..e82026a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/thorium3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/titanium1.png b/schem_image/assets/sprites/blocks/environment/titanium1.png
new file mode 100644
index 0000000..1172dad
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/titanium1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/titanium2.png b/schem_image/assets/sprites/blocks/environment/titanium2.png
new file mode 100644
index 0000000..c32ec8c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/titanium2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/titanium3.png b/schem_image/assets/sprites/blocks/environment/titanium3.png
new file mode 100644
index 0000000..51547a0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/titanium3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/environment/water.png b/schem_image/assets/sprites/blocks/environment/water.png
new file mode 100644
index 0000000..cb56267
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/environment/water.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/experimental/block-forge.png b/schem_image/assets/sprites/blocks/experimental/block-forge.png
new file mode 100644
index 0000000..6d37c59
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/experimental/block-forge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/experimental/block-loader.png b/schem_image/assets/sprites/blocks/experimental/block-loader.png
new file mode 100644
index 0000000..08c851a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/experimental/block-loader.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/experimental/block-unloader.png b/schem_image/assets/sprites/blocks/experimental/block-unloader.png
new file mode 100644
index 0000000..2ee0b89
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/experimental/block-unloader.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/extra/block-border.png b/schem_image/assets/sprites/blocks/extra/block-border.png
new file mode 100644
index 0000000..daf204a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/extra/block-border.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/extra/block-middle.png b/schem_image/assets/sprites/blocks/extra/block-middle.png
new file mode 100644
index 0000000..2a856ae
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/extra/block-middle.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/extra/block-select.png b/schem_image/assets/sprites/blocks/extra/block-select.png
new file mode 100644
index 0000000..e9d19b9
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/extra/block-select.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/extra/conduit-liquid.png b/schem_image/assets/sprites/blocks/extra/conduit-liquid.png
new file mode 100644
index 0000000..24d37b7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/extra/conduit-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/extra/place-arrow.png b/schem_image/assets/sprites/blocks/extra/place-arrow.png
new file mode 100644
index 0000000..a5004f1
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/extra/place-arrow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/bridge-conduit-arrow.png b/schem_image/assets/sprites/blocks/liquid/bridge-conduit-arrow.png
new file mode 100644
index 0000000..b8b62bc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/bridge-conduit-arrow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/bridge-conduit-bridge.png b/schem_image/assets/sprites/blocks/liquid/bridge-conduit-bridge.png
new file mode 100644
index 0000000..bfb44d1
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/bridge-conduit-bridge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/bridge-conduit-end.png b/schem_image/assets/sprites/blocks/liquid/bridge-conduit-end.png
new file mode 100644
index 0000000..844be19
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/bridge-conduit-end.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/bridge-conduit.png b/schem_image/assets/sprites/blocks/liquid/bridge-conduit.png
new file mode 100644
index 0000000..9249b2b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/bridge-conduit.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-bottom-0.png b/schem_image/assets/sprites/blocks/liquid/conduit-bottom-0.png
new file mode 100644
index 0000000..b5f2d11
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-bottom-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-bottom-1.png b/schem_image/assets/sprites/blocks/liquid/conduit-bottom-1.png
new file mode 100644
index 0000000..82bcbcb
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-bottom-1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-bottom-2.png b/schem_image/assets/sprites/blocks/liquid/conduit-bottom-2.png
new file mode 100644
index 0000000..d2896d5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-bottom-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-bottom-3.png b/schem_image/assets/sprites/blocks/liquid/conduit-bottom-3.png
new file mode 100644
index 0000000..d2896d5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-bottom-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-bottom-4.png b/schem_image/assets/sprites/blocks/liquid/conduit-bottom-4.png
new file mode 100644
index 0000000..d2896d5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-bottom-4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-bottom.png b/schem_image/assets/sprites/blocks/liquid/conduit-bottom.png
new file mode 100644
index 0000000..04cecf2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-bottom.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-top-0.png b/schem_image/assets/sprites/blocks/liquid/conduit-top-0.png
new file mode 100644
index 0000000..e7b8c44
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-top-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-top-1.png b/schem_image/assets/sprites/blocks/liquid/conduit-top-1.png
new file mode 100644
index 0000000..a8e05ab
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-top-1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-top-2.png b/schem_image/assets/sprites/blocks/liquid/conduit-top-2.png
new file mode 100644
index 0000000..e3036ea
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-top-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-top-3.png b/schem_image/assets/sprites/blocks/liquid/conduit-top-3.png
new file mode 100644
index 0000000..b45e11c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-top-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/conduit-top-4.png b/schem_image/assets/sprites/blocks/liquid/conduit-top-4.png
new file mode 100644
index 0000000..e673a4c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/conduit-top-4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/liquid-junction.png b/schem_image/assets/sprites/blocks/liquid/liquid-junction.png
new file mode 100644
index 0000000..b7ddc74
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/liquid-junction.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/liquid-overflow-gate-top.png b/schem_image/assets/sprites/blocks/liquid/liquid-overflow-gate-top.png
new file mode 100644
index 0000000..13d062d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/liquid-overflow-gate-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/liquid-overflow-gate.png b/schem_image/assets/sprites/blocks/liquid/liquid-overflow-gate.png
new file mode 100644
index 0000000..5cac3b3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/liquid-overflow-gate.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/liquid-router-bottom.png b/schem_image/assets/sprites/blocks/liquid/liquid-router-bottom.png
new file mode 100644
index 0000000..4f33525
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/liquid-router-bottom.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/liquid-router-liquid.png b/schem_image/assets/sprites/blocks/liquid/liquid-router-liquid.png
new file mode 100644
index 0000000..00dfc92
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/liquid-router-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/liquid-router-top.png b/schem_image/assets/sprites/blocks/liquid/liquid-router-top.png
new file mode 100644
index 0000000..4e45a70
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/liquid-router-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/liquid-tank-bottom.png b/schem_image/assets/sprites/blocks/liquid/liquid-tank-bottom.png
new file mode 100644
index 0000000..4e33a6b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/liquid-tank-bottom.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/liquid-tank-liquid.png b/schem_image/assets/sprites/blocks/liquid/liquid-tank-liquid.png
new file mode 100644
index 0000000..961a9f8
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/liquid-tank-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/liquid-tank-top.png b/schem_image/assets/sprites/blocks/liquid/liquid-tank-top.png
new file mode 100644
index 0000000..c1c36e3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/liquid-tank-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/mechanical-pump-liquid.png b/schem_image/assets/sprites/blocks/liquid/mechanical-pump-liquid.png
new file mode 100644
index 0000000..141b959
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/mechanical-pump-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/mechanical-pump.png b/schem_image/assets/sprites/blocks/liquid/mechanical-pump.png
new file mode 100644
index 0000000..f155293
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/mechanical-pump.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/phase-conduit-arrow.png b/schem_image/assets/sprites/blocks/liquid/phase-conduit-arrow.png
new file mode 100644
index 0000000..62bcb0c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/phase-conduit-arrow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/phase-conduit-bridge.png b/schem_image/assets/sprites/blocks/liquid/phase-conduit-bridge.png
new file mode 100644
index 0000000..e681a09
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/phase-conduit-bridge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/phase-conduit-end.png b/schem_image/assets/sprites/blocks/liquid/phase-conduit-end.png
new file mode 100644
index 0000000..cdcc522
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/phase-conduit-end.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/phase-conduit.png b/schem_image/assets/sprites/blocks/liquid/phase-conduit.png
new file mode 100644
index 0000000..402c082
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/phase-conduit.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/plated-conduit-cap.png b/schem_image/assets/sprites/blocks/liquid/plated-conduit-cap.png
new file mode 100644
index 0000000..4d6438c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/plated-conduit-cap.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-0.png b/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-0.png
new file mode 100644
index 0000000..46f5432
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-1.png b/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-1.png
new file mode 100644
index 0000000..40189f3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-2.png b/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-2.png
new file mode 100644
index 0000000..bb72269
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-3.png b/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-3.png
new file mode 100644
index 0000000..25ade8b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-4.png b/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-4.png
new file mode 100644
index 0000000..a131889
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/plated-conduit-top-4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-0.png b/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-0.png
new file mode 100644
index 0000000..d7e299a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-1.png b/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-1.png
new file mode 100644
index 0000000..4db9533
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-2.png b/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-2.png
new file mode 100644
index 0000000..78a57e8
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-3.png b/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-3.png
new file mode 100644
index 0000000..d15e254
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-4.png b/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-4.png
new file mode 100644
index 0000000..f4e6379
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/pulse-conduit-top-4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/rotary-pump-liquid.png b/schem_image/assets/sprites/blocks/liquid/rotary-pump-liquid.png
new file mode 100644
index 0000000..141b959
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/rotary-pump-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/rotary-pump.png b/schem_image/assets/sprites/blocks/liquid/rotary-pump.png
new file mode 100644
index 0000000..29a234b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/rotary-pump.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/thermal-pump-liquid.png b/schem_image/assets/sprites/blocks/liquid/thermal-pump-liquid.png
new file mode 100644
index 0000000..141b959
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/thermal-pump-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/liquid/thermal-pump.png b/schem_image/assets/sprites/blocks/liquid/thermal-pump.png
new file mode 100644
index 0000000..5f8f061
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/liquid/thermal-pump.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/logic/hyper-processor.png b/schem_image/assets/sprites/blocks/logic/hyper-processor.png
new file mode 100644
index 0000000..74dc55f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/logic/hyper-processor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/logic/large-logic-display.png b/schem_image/assets/sprites/blocks/logic/large-logic-display.png
new file mode 100644
index 0000000..fb10d43
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/logic/large-logic-display.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/logic/logic-display.png b/schem_image/assets/sprites/blocks/logic/logic-display.png
new file mode 100644
index 0000000..ffb2404
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/logic/logic-display.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/logic/logic-processor.png b/schem_image/assets/sprites/blocks/logic/logic-processor.png
new file mode 100644
index 0000000..7746f89
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/logic/logic-processor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/logic/memory-bank.png b/schem_image/assets/sprites/blocks/logic/memory-bank.png
new file mode 100644
index 0000000..59bd139
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/logic/memory-bank.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/logic/memory-cell.png b/schem_image/assets/sprites/blocks/logic/memory-cell.png
new file mode 100644
index 0000000..1ef2998
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/logic/memory-cell.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/logic/message.png b/schem_image/assets/sprites/blocks/logic/message.png
new file mode 100644
index 0000000..00bd9c8
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/logic/message.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/logic/micro-processor.png b/schem_image/assets/sprites/blocks/logic/micro-processor.png
new file mode 100644
index 0000000..2b1de7c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/logic/micro-processor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/logic/switch-on.png b/schem_image/assets/sprites/blocks/logic/switch-on.png
new file mode 100644
index 0000000..a439bd2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/logic/switch-on.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/logic/switch.png b/schem_image/assets/sprites/blocks/logic/switch.png
new file mode 100644
index 0000000..5519fc7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/logic/switch.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/block-forge.png b/schem_image/assets/sprites/blocks/payload/block-forge.png
new file mode 100644
index 0000000..6d37c59
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/block-forge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/block-loader.png b/schem_image/assets/sprites/blocks/payload/block-loader.png
new file mode 100644
index 0000000..08c851a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/block-loader.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/block-unloader.png b/schem_image/assets/sprites/blocks/payload/block-unloader.png
new file mode 100644
index 0000000..2ee0b89
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/block-unloader.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-conveyor-edge.png b/schem_image/assets/sprites/blocks/payload/payload-conveyor-edge.png
new file mode 100644
index 0000000..5360903
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-conveyor-edge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-conveyor-icon.png b/schem_image/assets/sprites/blocks/payload/payload-conveyor-icon.png
new file mode 100644
index 0000000..79a5b53
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-conveyor-icon.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-conveyor-top.png b/schem_image/assets/sprites/blocks/payload/payload-conveyor-top.png
new file mode 100644
index 0000000..8ecc636
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-conveyor-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-conveyor.png b/schem_image/assets/sprites/blocks/payload/payload-conveyor.png
new file mode 100644
index 0000000..8615a84
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-conveyor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-base.png b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-base.png
new file mode 100644
index 0000000..22f0f40
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-base.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-cap.png b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-cap.png
new file mode 100644
index 0000000..ed5066a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-cap.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-left.png b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-left.png
new file mode 100644
index 0000000..ac79f7b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-left.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-right.png b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-right.png
new file mode 100644
index 0000000..0bb4969
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-right.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-top.png b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-top.png
new file mode 100644
index 0000000..2e40b34
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower.png b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower.png
new file mode 100644
index 0000000..d66a166
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-propulsion-tower.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-router-edge.png b/schem_image/assets/sprites/blocks/payload/payload-router-edge.png
new file mode 100644
index 0000000..c8335d4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-router-edge.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-router-icon.png b/schem_image/assets/sprites/blocks/payload/payload-router-icon.png
new file mode 100644
index 0000000..9d40f86
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-router-icon.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-router-over.png b/schem_image/assets/sprites/blocks/payload/payload-router-over.png
new file mode 100644
index 0000000..52195b2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-router-over.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-router-top.png b/schem_image/assets/sprites/blocks/payload/payload-router-top.png
new file mode 100644
index 0000000..8ecc636
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-router-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/payload/payload-router.png b/schem_image/assets/sprites/blocks/payload/payload-router.png
new file mode 100644
index 0000000..8c363b7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/payload/payload-router.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/battery-large.png b/schem_image/assets/sprites/blocks/power/battery-large.png
new file mode 100644
index 0000000..7ad7d26
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/battery-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/battery.png b/schem_image/assets/sprites/blocks/power/battery.png
new file mode 100644
index 0000000..82af78b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/battery.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/combustion-generator-top.png b/schem_image/assets/sprites/blocks/power/combustion-generator-top.png
new file mode 100644
index 0000000..971e7b6
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/combustion-generator-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/combustion-generator.png b/schem_image/assets/sprites/blocks/power/combustion-generator.png
new file mode 100644
index 0000000..d2c563d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/combustion-generator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/differential-generator-liquid.png b/schem_image/assets/sprites/blocks/power/differential-generator-liquid.png
new file mode 100644
index 0000000..0595a9a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/differential-generator-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/differential-generator-top.png b/schem_image/assets/sprites/blocks/power/differential-generator-top.png
new file mode 100644
index 0000000..eb504bc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/differential-generator-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/differential-generator.png b/schem_image/assets/sprites/blocks/power/differential-generator.png
new file mode 100644
index 0000000..12e5e82
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/differential-generator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/diode-arrow.png b/schem_image/assets/sprites/blocks/power/diode-arrow.png
new file mode 100644
index 0000000..227b8bb
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/diode-arrow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/diode.png b/schem_image/assets/sprites/blocks/power/diode.png
new file mode 100644
index 0000000..51cb7a1
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/diode.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/impact-reactor-bottom.png b/schem_image/assets/sprites/blocks/power/impact-reactor-bottom.png
new file mode 100644
index 0000000..3ca55b0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/impact-reactor-bottom.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/impact-reactor-light.png b/schem_image/assets/sprites/blocks/power/impact-reactor-light.png
new file mode 100644
index 0000000..0563c2a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/impact-reactor-light.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-0.png b/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-0.png
new file mode 100644
index 0000000..bbbfe6a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-1.png b/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-1.png
new file mode 100644
index 0000000..25cdb57
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-2.png b/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-2.png
new file mode 100644
index 0000000..b50d031
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-3.png b/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-3.png
new file mode 100644
index 0000000..21ee665
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/impact-reactor-plasma-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/impact-reactor.png b/schem_image/assets/sprites/blocks/power/impact-reactor.png
new file mode 100644
index 0000000..d56bd5d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/impact-reactor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/power-node-large.png b/schem_image/assets/sprites/blocks/power/power-node-large.png
new file mode 100644
index 0000000..601cba0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/power-node-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/power-node.png b/schem_image/assets/sprites/blocks/power/power-node.png
new file mode 100644
index 0000000..a118ea0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/power-node.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/rtg-generator-top.png b/schem_image/assets/sprites/blocks/power/rtg-generator-top.png
new file mode 100644
index 0000000..00fcc2e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/rtg-generator-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/rtg-generator.png b/schem_image/assets/sprites/blocks/power/rtg-generator.png
new file mode 100644
index 0000000..0a6766a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/rtg-generator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/solar-panel-large.png b/schem_image/assets/sprites/blocks/power/solar-panel-large.png
new file mode 100644
index 0000000..6052669
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/solar-panel-large.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/solar-panel.png b/schem_image/assets/sprites/blocks/power/solar-panel.png
new file mode 100644
index 0000000..7416d34
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/solar-panel.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/steam-generator-cap.png b/schem_image/assets/sprites/blocks/power/steam-generator-cap.png
new file mode 100644
index 0000000..72c818d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/steam-generator-cap.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/steam-generator-liquid.png b/schem_image/assets/sprites/blocks/power/steam-generator-liquid.png
new file mode 100644
index 0000000..7f074dd
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/steam-generator-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/steam-generator-top.png b/schem_image/assets/sprites/blocks/power/steam-generator-top.png
new file mode 100644
index 0000000..c0a7cf2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/steam-generator-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/steam-generator-turbine0.png b/schem_image/assets/sprites/blocks/power/steam-generator-turbine0.png
new file mode 100644
index 0000000..27d0b93
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/steam-generator-turbine0.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/steam-generator-turbine1.png b/schem_image/assets/sprites/blocks/power/steam-generator-turbine1.png
new file mode 100644
index 0000000..0f06669
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/steam-generator-turbine1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/steam-generator.png b/schem_image/assets/sprites/blocks/power/steam-generator.png
new file mode 100644
index 0000000..958247f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/steam-generator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/surge-tower.png b/schem_image/assets/sprites/blocks/power/surge-tower.png
new file mode 100644
index 0000000..9aaeae3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/surge-tower.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/thermal-generator.png b/schem_image/assets/sprites/blocks/power/thermal-generator.png
new file mode 100644
index 0000000..07b1da1
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/thermal-generator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/thorium-reactor-lights.png b/schem_image/assets/sprites/blocks/power/thorium-reactor-lights.png
new file mode 100644
index 0000000..5af4b45
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/thorium-reactor-lights.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/thorium-reactor-top.png b/schem_image/assets/sprites/blocks/power/thorium-reactor-top.png
new file mode 100644
index 0000000..a22ce50
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/thorium-reactor-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/power/thorium-reactor.png b/schem_image/assets/sprites/blocks/power/thorium-reactor.png
new file mode 100644
index 0000000..e3a6656
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/power/thorium-reactor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/blast-drill-rim.png b/schem_image/assets/sprites/blocks/production/blast-drill-rim.png
new file mode 100644
index 0000000..b71305c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/blast-drill-rim.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/blast-drill-rotator.png b/schem_image/assets/sprites/blocks/production/blast-drill-rotator.png
new file mode 100644
index 0000000..f781765
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/blast-drill-rotator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/blast-drill-top.png b/schem_image/assets/sprites/blocks/production/blast-drill-top.png
new file mode 100644
index 0000000..189c04a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/blast-drill-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/blast-drill.png b/schem_image/assets/sprites/blocks/production/blast-drill.png
new file mode 100644
index 0000000..18697e7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/blast-drill.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/cultivator-top.png b/schem_image/assets/sprites/blocks/production/cultivator-top.png
new file mode 100644
index 0000000..b870541
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/cultivator-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/cultivator.png b/schem_image/assets/sprites/blocks/production/cultivator.png
new file mode 100644
index 0000000..e1ff7aa
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/cultivator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/drill-item-2.png b/schem_image/assets/sprites/blocks/production/drill-item-2.png
new file mode 100644
index 0000000..bd21ce9
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/drill-item-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/drill-item-3.png b/schem_image/assets/sprites/blocks/production/drill-item-3.png
new file mode 100644
index 0000000..ed71640
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/drill-item-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/drill-item-4.png b/schem_image/assets/sprites/blocks/production/drill-item-4.png
new file mode 100644
index 0000000..a18efb5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/drill-item-4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/laser-drill-rim.png b/schem_image/assets/sprites/blocks/production/laser-drill-rim.png
new file mode 100644
index 0000000..80a830e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/laser-drill-rim.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/laser-drill-rotator.png b/schem_image/assets/sprites/blocks/production/laser-drill-rotator.png
new file mode 100644
index 0000000..f9301d4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/laser-drill-rotator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/laser-drill-top.png b/schem_image/assets/sprites/blocks/production/laser-drill-top.png
new file mode 100644
index 0000000..3859f59
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/laser-drill-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/laser-drill.png b/schem_image/assets/sprites/blocks/production/laser-drill.png
new file mode 100644
index 0000000..d85cd06
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/laser-drill.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/mechanical-drill-rotator.png b/schem_image/assets/sprites/blocks/production/mechanical-drill-rotator.png
new file mode 100644
index 0000000..22326cc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/mechanical-drill-rotator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/mechanical-drill-top.png b/schem_image/assets/sprites/blocks/production/mechanical-drill-top.png
new file mode 100644
index 0000000..dae2776
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/mechanical-drill-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/mechanical-drill.png b/schem_image/assets/sprites/blocks/production/mechanical-drill.png
new file mode 100644
index 0000000..2685c03
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/mechanical-drill.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/oil-extractor-liquid.png b/schem_image/assets/sprites/blocks/production/oil-extractor-liquid.png
new file mode 100644
index 0000000..9a058e3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/oil-extractor-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/oil-extractor-rotator.png b/schem_image/assets/sprites/blocks/production/oil-extractor-rotator.png
new file mode 100644
index 0000000..c10a7b7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/oil-extractor-rotator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/oil-extractor-top.png b/schem_image/assets/sprites/blocks/production/oil-extractor-top.png
new file mode 100644
index 0000000..fe293d4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/oil-extractor-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/oil-extractor.png b/schem_image/assets/sprites/blocks/production/oil-extractor.png
new file mode 100644
index 0000000..3601339
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/oil-extractor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/pneumatic-drill-rotator.png b/schem_image/assets/sprites/blocks/production/pneumatic-drill-rotator.png
new file mode 100644
index 0000000..b9b4988
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/pneumatic-drill-rotator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/pneumatic-drill-top.png b/schem_image/assets/sprites/blocks/production/pneumatic-drill-top.png
new file mode 100644
index 0000000..bf18f2d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/pneumatic-drill-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/pneumatic-drill.png b/schem_image/assets/sprites/blocks/production/pneumatic-drill.png
new file mode 100644
index 0000000..e755a63
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/pneumatic-drill.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/water-extractor-liquid.png b/schem_image/assets/sprites/blocks/production/water-extractor-liquid.png
new file mode 100644
index 0000000..a0d7135
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/water-extractor-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/water-extractor-rotator.png b/schem_image/assets/sprites/blocks/production/water-extractor-rotator.png
new file mode 100644
index 0000000..ef62105
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/water-extractor-rotator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/water-extractor-top.png b/schem_image/assets/sprites/blocks/production/water-extractor-top.png
new file mode 100644
index 0000000..3671dd0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/water-extractor-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/production/water-extractor.png b/schem_image/assets/sprites/blocks/production/water-extractor.png
new file mode 100644
index 0000000..f38c9e7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/production/water-extractor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/basalt-boulder1.png b/schem_image/assets/sprites/blocks/props/basalt-boulder1.png
new file mode 100644
index 0000000..f88209e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/basalt-boulder1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/basalt-boulder2.png b/schem_image/assets/sprites/blocks/props/basalt-boulder2.png
new file mode 100644
index 0000000..7c19c92
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/basalt-boulder2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/boulder1.png b/schem_image/assets/sprites/blocks/props/boulder1.png
new file mode 100644
index 0000000..ae54a00
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/boulder1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/boulder2.png b/schem_image/assets/sprites/blocks/props/boulder2.png
new file mode 100644
index 0000000..6e6e310
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/boulder2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/dacite-boulder1.png b/schem_image/assets/sprites/blocks/props/dacite-boulder1.png
new file mode 100644
index 0000000..ffddeef
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/dacite-boulder1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/dacite-boulder2.png b/schem_image/assets/sprites/blocks/props/dacite-boulder2.png
new file mode 100644
index 0000000..aa25894
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/dacite-boulder2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/sand-boulder1.png b/schem_image/assets/sprites/blocks/props/sand-boulder1.png
new file mode 100644
index 0000000..4c2cbd9
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/sand-boulder1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/sand-boulder2.png b/schem_image/assets/sprites/blocks/props/sand-boulder2.png
new file mode 100644
index 0000000..902a0d7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/sand-boulder2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/shale-boulder1.png b/schem_image/assets/sprites/blocks/props/shale-boulder1.png
new file mode 100644
index 0000000..6d280cc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/shale-boulder1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/shale-boulder2.png b/schem_image/assets/sprites/blocks/props/shale-boulder2.png
new file mode 100644
index 0000000..5ba4033
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/shale-boulder2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/snow-boulder1.png b/schem_image/assets/sprites/blocks/props/snow-boulder1.png
new file mode 100644
index 0000000..c7feac2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/snow-boulder1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/snow-boulder2.png b/schem_image/assets/sprites/blocks/props/snow-boulder2.png
new file mode 100644
index 0000000..5f148d7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/snow-boulder2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/spore-cluster1.png b/schem_image/assets/sprites/blocks/props/spore-cluster1.png
new file mode 100644
index 0000000..50475fa
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/spore-cluster1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/spore-cluster2.png b/schem_image/assets/sprites/blocks/props/spore-cluster2.png
new file mode 100644
index 0000000..4d19d2d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/spore-cluster2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/spore-cluster3.png b/schem_image/assets/sprites/blocks/props/spore-cluster3.png
new file mode 100644
index 0000000..3802836
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/spore-cluster3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/white-tree-dead-shadow.png b/schem_image/assets/sprites/blocks/props/white-tree-dead-shadow.png
new file mode 100644
index 0000000..f95d982
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/white-tree-dead-shadow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/white-tree-dead.png b/schem_image/assets/sprites/blocks/props/white-tree-dead.png
new file mode 100644
index 0000000..cfb6d65
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/white-tree-dead.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/white-tree-shadow.png b/schem_image/assets/sprites/blocks/props/white-tree-shadow.png
new file mode 100644
index 0000000..8ce60aa
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/white-tree-shadow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/props/white-tree.png b/schem_image/assets/sprites/blocks/props/white-tree.png
new file mode 100644
index 0000000..91f17de
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/props/white-tree.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/center.png b/schem_image/assets/sprites/blocks/sandbox/center.png
new file mode 100644
index 0000000..19def6b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/center.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/cross.png b/schem_image/assets/sprites/blocks/sandbox/cross.png
new file mode 100644
index 0000000..0d9dea8
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/cross.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/illuminator-top.png b/schem_image/assets/sprites/blocks/sandbox/illuminator-top.png
new file mode 100644
index 0000000..38754f5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/illuminator-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/illuminator.png b/schem_image/assets/sprites/blocks/sandbox/illuminator.png
new file mode 100644
index 0000000..09b2f5c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/illuminator.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/item-source.png b/schem_image/assets/sprites/blocks/sandbox/item-source.png
new file mode 100644
index 0000000..98dc16a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/item-source.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/item-void.png b/schem_image/assets/sprites/blocks/sandbox/item-void.png
new file mode 100644
index 0000000..eb3e38a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/item-void.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/liquid-source.png b/schem_image/assets/sprites/blocks/sandbox/liquid-source.png
new file mode 100644
index 0000000..0ae3a70
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/liquid-source.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/liquid-void.png b/schem_image/assets/sprites/blocks/sandbox/liquid-void.png
new file mode 100644
index 0000000..0aa9e75
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/liquid-void.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/payload-source-top.png b/schem_image/assets/sprites/blocks/sandbox/payload-source-top.png
new file mode 100644
index 0000000..2de4c17
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/payload-source-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/payload-source.png b/schem_image/assets/sprites/blocks/sandbox/payload-source.png
new file mode 100644
index 0000000..4c6b7b2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/payload-source.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/payload-void-top.png b/schem_image/assets/sprites/blocks/sandbox/payload-void-top.png
new file mode 100644
index 0000000..f334d23
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/payload-void-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/payload-void.png b/schem_image/assets/sprites/blocks/sandbox/payload-void.png
new file mode 100644
index 0000000..4c6b7b2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/payload-void.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/power-source.png b/schem_image/assets/sprites/blocks/sandbox/power-source.png
new file mode 100644
index 0000000..1cc73a2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/power-source.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/sandbox/power-void.png b/schem_image/assets/sprites/blocks/sandbox/power-void.png
new file mode 100644
index 0000000..13aa455
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/sandbox/power-void.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/container-team.png b/schem_image/assets/sprites/blocks/storage/container-team.png
new file mode 100644
index 0000000..5ee1dd3
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/container-team.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/container.png b/schem_image/assets/sprites/blocks/storage/container.png
new file mode 100644
index 0000000..959e2b6
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/container.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/core-foundation-team.png b/schem_image/assets/sprites/blocks/storage/core-foundation-team.png
new file mode 100644
index 0000000..ba7a704
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/core-foundation-team.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/core-foundation.png b/schem_image/assets/sprites/blocks/storage/core-foundation.png
new file mode 100644
index 0000000..0a042c7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/core-foundation.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/core-nucleus-team.png b/schem_image/assets/sprites/blocks/storage/core-nucleus-team.png
new file mode 100644
index 0000000..53b494b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/core-nucleus-team.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/core-nucleus.png b/schem_image/assets/sprites/blocks/storage/core-nucleus.png
new file mode 100644
index 0000000..b744dd0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/core-nucleus.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/core-shard-team.png b/schem_image/assets/sprites/blocks/storage/core-shard-team.png
new file mode 100644
index 0000000..f319ebb
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/core-shard-team.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/core-shard.png b/schem_image/assets/sprites/blocks/storage/core-shard.png
new file mode 100644
index 0000000..4b4a92f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/core-shard.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/unloader-center.png b/schem_image/assets/sprites/blocks/storage/unloader-center.png
new file mode 100644
index 0000000..de4959a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/unloader-center.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/unloader.png b/schem_image/assets/sprites/blocks/storage/unloader.png
new file mode 100644
index 0000000..7edb57c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/unloader.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/vault-team.png b/schem_image/assets/sprites/blocks/storage/vault-team.png
new file mode 100644
index 0000000..0ce6a50
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/vault-team.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/storage/vault.png b/schem_image/assets/sprites/blocks/storage/vault.png
new file mode 100644
index 0000000..36a4ee5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/storage/vault.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/arc-heat.png b/schem_image/assets/sprites/blocks/turrets/arc-heat.png
new file mode 100644
index 0000000..de36f57
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/arc-heat.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/arc.png b/schem_image/assets/sprites/blocks/turrets/arc.png
new file mode 100644
index 0000000..106963a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/arc.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/bases/block-1.png b/schem_image/assets/sprites/blocks/turrets/bases/block-1.png
new file mode 100644
index 0000000..4a5ae35
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/bases/block-1.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/bases/block-2.png b/schem_image/assets/sprites/blocks/turrets/bases/block-2.png
new file mode 100644
index 0000000..16d6d1d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/bases/block-2.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/bases/block-3.png b/schem_image/assets/sprites/blocks/turrets/bases/block-3.png
new file mode 100644
index 0000000..cade0ba
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/bases/block-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/bases/block-4.png b/schem_image/assets/sprites/blocks/turrets/bases/block-4.png
new file mode 100644
index 0000000..1ff1bb6
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/bases/block-4.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/cyclone.png b/schem_image/assets/sprites/blocks/turrets/cyclone.png
new file mode 100644
index 0000000..a0e34e2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/cyclone.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/duo.png b/schem_image/assets/sprites/blocks/turrets/duo.png
new file mode 100644
index 0000000..147d78f
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/duo.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/foreshadow-heat.png b/schem_image/assets/sprites/blocks/turrets/foreshadow-heat.png
new file mode 100644
index 0000000..e0902e1
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/foreshadow-heat.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/foreshadow.png b/schem_image/assets/sprites/blocks/turrets/foreshadow.png
new file mode 100644
index 0000000..5a27960
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/foreshadow.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/fuse.png b/schem_image/assets/sprites/blocks/turrets/fuse.png
new file mode 100644
index 0000000..61ff3c7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/fuse.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/hail-heat.png b/schem_image/assets/sprites/blocks/turrets/hail-heat.png
new file mode 100644
index 0000000..daad1ac
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/hail-heat.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/hail.png b/schem_image/assets/sprites/blocks/turrets/hail.png
new file mode 100644
index 0000000..10001df
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/hail.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/lancer-heat.png b/schem_image/assets/sprites/blocks/turrets/lancer-heat.png
new file mode 100644
index 0000000..1327410
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/lancer-heat.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/lancer.png b/schem_image/assets/sprites/blocks/turrets/lancer.png
new file mode 100644
index 0000000..08f1ea9
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/lancer.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/meltdown-heat.png b/schem_image/assets/sprites/blocks/turrets/meltdown-heat.png
new file mode 100644
index 0000000..e9b1fc0
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/meltdown-heat.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/meltdown.png b/schem_image/assets/sprites/blocks/turrets/meltdown.png
new file mode 100644
index 0000000..68c1b15
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/meltdown.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/parallax.png b/schem_image/assets/sprites/blocks/turrets/parallax.png
new file mode 100644
index 0000000..2b6109e
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/parallax.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/ripple-heat.png b/schem_image/assets/sprites/blocks/turrets/ripple-heat.png
new file mode 100644
index 0000000..6b88b97
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/ripple-heat.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/ripple.png b/schem_image/assets/sprites/blocks/turrets/ripple.png
new file mode 100644
index 0000000..92bd3db
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/ripple.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/salvo-heat.png b/schem_image/assets/sprites/blocks/turrets/salvo-heat.png
new file mode 100644
index 0000000..5022faf
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/salvo-heat.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/salvo.png b/schem_image/assets/sprites/blocks/turrets/salvo.png
new file mode 100644
index 0000000..4904a91
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/salvo.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/scatter.png b/schem_image/assets/sprites/blocks/turrets/scatter.png
new file mode 100644
index 0000000..f4f0d73
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/scatter.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/scorch-heat.png b/schem_image/assets/sprites/blocks/turrets/scorch-heat.png
new file mode 100644
index 0000000..84863ae
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/scorch-heat.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/scorch.png b/schem_image/assets/sprites/blocks/turrets/scorch.png
new file mode 100644
index 0000000..abbd3b5
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/scorch.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/segment.png b/schem_image/assets/sprites/blocks/turrets/segment.png
new file mode 100644
index 0000000..57da490
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/segment.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/spectre.png b/schem_image/assets/sprites/blocks/turrets/spectre.png
new file mode 100644
index 0000000..f85734b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/spectre.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/swarmer.png b/schem_image/assets/sprites/blocks/turrets/swarmer.png
new file mode 100644
index 0000000..6f98a1b
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/swarmer.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/tsunami-liquid.png b/schem_image/assets/sprites/blocks/turrets/tsunami-liquid.png
new file mode 100644
index 0000000..8c88e9a
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/tsunami-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/tsunami-top.png b/schem_image/assets/sprites/blocks/turrets/tsunami-top.png
new file mode 100644
index 0000000..fc3b172
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/tsunami-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/tsunami.png b/schem_image/assets/sprites/blocks/turrets/tsunami.png
new file mode 100644
index 0000000..b11d2c2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/tsunami.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/wave-liquid.png b/schem_image/assets/sprites/blocks/turrets/wave-liquid.png
new file mode 100644
index 0000000..77930b7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/wave-liquid.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/wave-top.png b/schem_image/assets/sprites/blocks/turrets/wave-top.png
new file mode 100644
index 0000000..66f9939
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/wave-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/turrets/wave.png b/schem_image/assets/sprites/blocks/turrets/wave.png
new file mode 100644
index 0000000..58d5d46
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/turrets/wave.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/additive-reconstructor-top.png b/schem_image/assets/sprites/blocks/units/additive-reconstructor-top.png
new file mode 100644
index 0000000..ad9a908
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/additive-reconstructor-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/additive-reconstructor.png b/schem_image/assets/sprites/blocks/units/additive-reconstructor.png
new file mode 100644
index 0000000..7534cc4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/additive-reconstructor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/air-factory.png b/schem_image/assets/sprites/blocks/units/air-factory.png
new file mode 100644
index 0000000..0b9f975
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/air-factory.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/command-center-team.png b/schem_image/assets/sprites/blocks/units/command-center-team.png
new file mode 100644
index 0000000..b9d27f7
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/command-center-team.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/command-center.png b/schem_image/assets/sprites/blocks/units/command-center.png
new file mode 100644
index 0000000..a0de488
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/command-center.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/exponential-reconstructor-top.png b/schem_image/assets/sprites/blocks/units/exponential-reconstructor-top.png
new file mode 100644
index 0000000..1bd16c4
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/exponential-reconstructor-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/exponential-reconstructor.png b/schem_image/assets/sprites/blocks/units/exponential-reconstructor.png
new file mode 100644
index 0000000..729bd44
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/exponential-reconstructor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/factory-in-3.png b/schem_image/assets/sprites/blocks/units/factory-in-3.png
new file mode 100644
index 0000000..7944814
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/factory-in-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/factory-in-5.png b/schem_image/assets/sprites/blocks/units/factory-in-5.png
new file mode 100644
index 0000000..ccb7fbc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/factory-in-5.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/factory-in-7.png b/schem_image/assets/sprites/blocks/units/factory-in-7.png
new file mode 100644
index 0000000..1861a46
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/factory-in-7.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/factory-in-9.png b/schem_image/assets/sprites/blocks/units/factory-in-9.png
new file mode 100644
index 0000000..acf736c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/factory-in-9.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/factory-out-3.png b/schem_image/assets/sprites/blocks/units/factory-out-3.png
new file mode 100644
index 0000000..4553a69
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/factory-out-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/factory-out-5.png b/schem_image/assets/sprites/blocks/units/factory-out-5.png
new file mode 100644
index 0000000..801f1ce
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/factory-out-5.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/factory-out-7.png b/schem_image/assets/sprites/blocks/units/factory-out-7.png
new file mode 100644
index 0000000..0822c34
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/factory-out-7.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/factory-out-9.png b/schem_image/assets/sprites/blocks/units/factory-out-9.png
new file mode 100644
index 0000000..84409c2
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/factory-out-9.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/factory-top-3.png b/schem_image/assets/sprites/blocks/units/factory-top-3.png
new file mode 100644
index 0000000..a1c3166
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/factory-top-3.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/ground-factory.png b/schem_image/assets/sprites/blocks/units/ground-factory.png
new file mode 100644
index 0000000..5bf4b32
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/ground-factory.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/multiplicative-reconstructor-top.png b/schem_image/assets/sprites/blocks/units/multiplicative-reconstructor-top.png
new file mode 100644
index 0000000..d48314c
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/multiplicative-reconstructor-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/multiplicative-reconstructor.png b/schem_image/assets/sprites/blocks/units/multiplicative-reconstructor.png
new file mode 100644
index 0000000..e019505
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/multiplicative-reconstructor.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/naval-factory.png b/schem_image/assets/sprites/blocks/units/naval-factory.png
new file mode 100644
index 0000000..cddc8dc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/naval-factory.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/rally-point.png b/schem_image/assets/sprites/blocks/units/rally-point.png
new file mode 100644
index 0000000..493d90d
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/rally-point.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/repair-point-base.png b/schem_image/assets/sprites/blocks/units/repair-point-base.png
new file mode 100644
index 0000000..5cc56cb
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/repair-point-base.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/repair-point.png b/schem_image/assets/sprites/blocks/units/repair-point.png
new file mode 100644
index 0000000..2cadeae
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/repair-point.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/repair-turret.png b/schem_image/assets/sprites/blocks/units/repair-turret.png
new file mode 100644
index 0000000..4cc4ffc
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/repair-turret.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/resupply-point.png b/schem_image/assets/sprites/blocks/units/resupply-point.png
new file mode 100644
index 0000000..d6d9d52
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/resupply-point.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/tetrative-reconstructor-top.png b/schem_image/assets/sprites/blocks/units/tetrative-reconstructor-top.png
new file mode 100644
index 0000000..bf92d01
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/tetrative-reconstructor-top.png
Binary files differ
diff --git a/schem_image/assets/sprites/blocks/units/tetrative-reconstructor.png b/schem_image/assets/sprites/blocks/units/tetrative-reconstructor.png
new file mode 100644
index 0000000..deba4e9
--- /dev/null
+++ b/schem_image/assets/sprites/blocks/units/tetrative-reconstructor.png
Binary files differ
diff --git a/schem_image/assets/sprites/error.png b/schem_image/assets/sprites/error.png
new file mode 100644
index 0000000..005c405
--- /dev/null
+++ b/schem_image/assets/sprites/error.png
Binary files differ
diff --git a/schem_image/base64.js b/schem_image/base64.js
new file mode 100644
index 0000000..2290c17
--- /dev/null
+++ b/schem_image/base64.js
@@ -0,0 +1,16 @@
+import * as fs from 'fs'
+import {
+ Schematic
+} from 'mindustry-schematic-parser'
+
+const base64 = process.argv.slice(2)[0]
+const schematic = Schematic.decode(base64)
+console.log(schematic.name)
+
+// save a preview of the schematic
+schematic
+ .render({
+ background: false // disable background
+ })
+ .then(nodeCanvas => nodeCanvas.toBuffer())
+ .then(buffer => fs.writeFileSync('/tmp/mindustry_schematics/image.png', buffer)) \ No newline at end of file
diff --git a/schem_image/msch.js b/schem_image/msch.js
new file mode 100644
index 0000000..bb165a8
--- /dev/null
+++ b/schem_image/msch.js
@@ -0,0 +1,18 @@
+import * as fs from 'fs'
+import {
+ Schematic
+} from 'mindustry-schematic-parser'
+
+const file = process.argv.slice(2)[0]
+const buffer = fs.readFileSync(file)
+const schematic = Schematic.decode(buffer)
+
+console.log(schematic.name)
+
+// save a preview of the schematic
+schematic
+ .render({
+ background: false // disable background
+ })
+ .then(nodeCanvas => nodeCanvas.toBuffer())
+ .then(buffer => fs.writeFileSync('/tmp/mindustry_schematics/image.png', buffer)) \ No newline at end of file
diff --git a/schem_image/package-lock.json b/schem_image/package-lock.json
new file mode 100644
index 0000000..95bbfd3
--- /dev/null
+++ b/schem_image/package-lock.json
@@ -0,0 +1,1261 @@
+{
+ "name": "schem_image",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "dependencies": {
+ "mindustry-schematic-parser": "^4.1.4",
+ "wipeclean": "^1.0.4"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.8.tgz",
+ "integrity": "sha512-CMGKi28CF+qlbXh26hDe6NxCd7amqeAzEqnS6IHeO6LoaKyM/n+Xw3HT1COdq8cuioOdlKdqn/hCmqPUOMOywg==",
+ "dependencies": {
+ "detect-libc": "^1.0.3",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.5",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ },
+ "bin": {
+ "node-pre-gyp": "bin/node-pre-gyp"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/canvas": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.9.0.tgz",
+ "integrity": "sha512-0l93g7uxp7rMyr7H+XRQ28A3ud0dKIUTIEkUe1Dxh4rjUYN7B93+SjC3r1PDKA18xcQN87OFGgUnyw7LSgNLSQ==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "nan": "^2.15.0",
+ "simple-get": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+ },
+ "node_modules/debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decompress-response": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
+ "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
+ "dependencies": {
+ "mimic-response": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ },
+ "node_modules/detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/find-up": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
+ "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==",
+ "dependencies": {
+ "locate-path": "^7.1.0",
+ "path-exists": "^5.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "node_modules/gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.1.0.tgz",
+ "integrity": "sha512-HNx5uOnYeK4SxEoid5qnhRfprlJeGMzFRKPLCf/15N3/B4AiofNwC/yq7VBKdVk9dx7m+PiYCJOGg55JYTAqoQ==",
+ "dependencies": {
+ "p-locate": "^6.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/mimic-response": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
+ "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/mindustry-schematic-parser": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/mindustry-schematic-parser/-/mindustry-schematic-parser-4.1.4.tgz",
+ "integrity": "sha512-QCqwlO7YYQU0k44gLsOEa/Gz/cpMlEfDXULZUvP0rNh2xTCA0fKW/KiOWahe3tyH8Uh8kuGBpWumSTLZJ1Y8Tg==",
+ "dependencies": {
+ "canvas": "^2.9.0",
+ "pako": "^2.0.4",
+ "pkg-dir": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
+ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/nan": {
+ "version": "2.15.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
+ "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ=="
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "dependencies": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
+ "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
+ "dependencies": {
+ "yocto-queue": "^1.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
+ "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
+ "dependencies": {
+ "p-limit": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pako": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz",
+ "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg=="
+ },
+ "node_modules/path-exists": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-6.0.1.tgz",
+ "integrity": "sha512-C9R+PTCKGA32HG0n5I4JMYkdLL58ZpayVuncQHQrGeKa8o26A4o2x0u6BKekHG+Au0jv5ZW7Xfq1Cj6lm9Ag4w==",
+ "dependencies": {
+ "find-up": "^6.1.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ },
+ "node_modules/simple-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/simple-get": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz",
+ "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==",
+ "dependencies": {
+ "decompress-response": "^4.2.0",
+ "once": "^1.3.1",
+ "simple-concat": "^1.0.0"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tar": {
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "node_modules/wipeclean": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/wipeclean/-/wipeclean-1.0.4.tgz",
+ "integrity": "sha512-zwNXuWt6yW++ArdurBdvo4rnCB7F8oKwwbXrkpfPmG13Mtu8iHvhYD3MURJpgtVwYLWJokhizNChAcPpdFIk0w==",
+ "bin": {
+ "wipeclean": "index.js"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/yocto-queue": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
+ "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ },
+ "dependencies": {
+ "@mapbox/node-pre-gyp": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.8.tgz",
+ "integrity": "sha512-CMGKi28CF+qlbXh26hDe6NxCd7amqeAzEqnS6IHeO6LoaKyM/n+Xw3HT1COdq8cuioOdlKdqn/hCmqPUOMOywg==",
+ "requires": {
+ "detect-libc": "^1.0.3",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.5",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ },
+ "aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ=="
+ },
+ "are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "canvas": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/canvas/-/canvas-2.9.0.tgz",
+ "integrity": "sha512-0l93g7uxp7rMyr7H+XRQ28A3ud0dKIUTIEkUe1Dxh4rjUYN7B93+SjC3r1PDKA18xcQN87OFGgUnyw7LSgNLSQ==",
+ "requires": {
+ "@mapbox/node-pre-gyp": "^1.0.0",
+ "nan": "^2.15.0",
+ "simple-get": "^3.0.3"
+ }
+ },
+ "chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
+ },
+ "color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+ },
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "decompress-response": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz",
+ "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==",
+ "requires": {
+ "mimic-response": "^2.0.0"
+ }
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "find-up": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
+ "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==",
+ "requires": {
+ "locate-path": "^7.1.0",
+ "path-exists": "^5.0.0"
+ }
+ },
+ "fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "requires": {
+ "minipass": "^3.0.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "requires": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ }
+ },
+ "glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ },
+ "https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "locate-path": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.1.0.tgz",
+ "integrity": "sha512-HNx5uOnYeK4SxEoid5qnhRfprlJeGMzFRKPLCf/15N3/B4AiofNwC/yq7VBKdVk9dx7m+PiYCJOGg55JYTAqoQ==",
+ "requires": {
+ "p-locate": "^6.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "requires": {
+ "semver": "^6.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ }
+ }
+ },
+ "mimic-response": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz",
+ "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA=="
+ },
+ "mindustry-schematic-parser": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/mindustry-schematic-parser/-/mindustry-schematic-parser-4.1.4.tgz",
+ "integrity": "sha512-QCqwlO7YYQU0k44gLsOEa/Gz/cpMlEfDXULZUvP0rNh2xTCA0fKW/KiOWahe3tyH8Uh8kuGBpWumSTLZJ1Y8Tg==",
+ "requires": {
+ "canvas": "^2.9.0",
+ "pako": "^2.0.4",
+ "pkg-dir": "^6.0.1"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minipass": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz",
+ "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "requires": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "nan": {
+ "version": "2.15.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
+ "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ=="
+ },
+ "node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "requires": {
+ "whatwg-url": "^5.0.0"
+ }
+ },
+ "nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "requires": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "p-limit": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
+ "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
+ "requires": {
+ "yocto-queue": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
+ "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
+ "requires": {
+ "p-limit": "^4.0.0"
+ }
+ },
+ "pako": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz",
+ "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg=="
+ },
+ "path-exists": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ=="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "pkg-dir": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-6.0.1.tgz",
+ "integrity": "sha512-C9R+PTCKGA32HG0n5I4JMYkdLL58ZpayVuncQHQrGeKa8o26A4o2x0u6BKekHG+Au0jv5ZW7Xfq1Cj6lm9Ag4w==",
+ "requires": {
+ "find-up": "^6.1.0"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+ },
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ },
+ "signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
+ },
+ "simple-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
+ },
+ "simple-get": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz",
+ "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==",
+ "requires": {
+ "decompress-response": "^4.2.0",
+ "once": "^1.3.1",
+ "simple-concat": "^1.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "tar": {
+ "version": "6.1.11",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+ "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
+ "requires": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^3.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ }
+ },
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ },
+ "whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "requires": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "requires": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "wipeclean": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/wipeclean/-/wipeclean-1.0.4.tgz",
+ "integrity": "sha512-zwNXuWt6yW++ArdurBdvo4rnCB7F8oKwwbXrkpfPmG13Mtu8iHvhYD3MURJpgtVwYLWJokhizNChAcPpdFIk0w=="
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "yocto-queue": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
+ "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g=="
+ }
+ }
+}
diff --git a/schem_image/package.json b/schem_image/package.json
new file mode 100644
index 0000000..c06f8c3
--- /dev/null
+++ b/schem_image/package.json
@@ -0,0 +1,7 @@
+{
+ "type": "module",
+ "dependencies": {
+ "mindustry-schematic-parser": "^4.1.4",
+ "wipeclean": "^1.0.4"
+ }
+}
diff --git a/schem_image/uses mindustry-schematic-parser b/schem_image/uses mindustry-schematic-parser
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/schem_image/uses mindustry-schematic-parser
@@ -0,0 +1 @@
+
diff --git a/siphon.sh b/siphon.sh
new file mode 100644
index 0000000..f0c579f
--- /dev/null
+++ b/siphon.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+echo "{"
+for file in src/*.png; do
+ if [[ $file == "src/spritesheet.png" ]]; then
+ continue
+ fi
+ o=$(~/MSchemGen/img2json/avgcolor.py "$file")
+ file=$(basename "$file")
+ file=${file//$'-ui.png'/}
+ file=${file//$'block-'/}
+ echo "$o: \"$file\","
+done
+echo "}"
diff --git a/src/block-additive-reconstructor-ui.png b/src/block-additive-reconstructor-ui.png
new file mode 100644
index 0000000..a87e61c
--- /dev/null
+++ b/src/block-additive-reconstructor-ui.png
Binary files differ
diff --git a/src/block-air-factory-ui.png b/src/block-air-factory-ui.png
new file mode 100644
index 0000000..96615bd
--- /dev/null
+++ b/src/block-air-factory-ui.png
Binary files differ
diff --git a/src/block-alloy-smelter-ui.png b/src/block-alloy-smelter-ui.png
new file mode 100644
index 0000000..b181f0d
--- /dev/null
+++ b/src/block-alloy-smelter-ui.png
Binary files differ
diff --git a/src/block-arc-ui.png b/src/block-arc-ui.png
new file mode 100644
index 0000000..0d2b5fd
--- /dev/null
+++ b/src/block-arc-ui.png
Binary files differ
diff --git a/src/block-armored-conveyor-ui.png b/src/block-armored-conveyor-ui.png
new file mode 100644
index 0000000..1727abf
--- /dev/null
+++ b/src/block-armored-conveyor-ui.png
Binary files differ
diff --git a/src/block-battery-large-ui.png b/src/block-battery-large-ui.png
new file mode 100644
index 0000000..f7bc9ca
--- /dev/null
+++ b/src/block-battery-large-ui.png
Binary files differ
diff --git a/src/block-battery-ui.png b/src/block-battery-ui.png
new file mode 100644
index 0000000..9758821
--- /dev/null
+++ b/src/block-battery-ui.png
Binary files differ
diff --git a/src/block-blast-drill-ui.png b/src/block-blast-drill-ui.png
new file mode 100644
index 0000000..cadad5e
--- /dev/null
+++ b/src/block-blast-drill-ui.png
Binary files differ
diff --git a/src/block-blast-mixer-ui.png b/src/block-blast-mixer-ui.png
new file mode 100644
index 0000000..1b909ff
--- /dev/null
+++ b/src/block-blast-mixer-ui.png
Binary files differ
diff --git a/src/block-boulder-ui.png b/src/block-boulder-ui.png
new file mode 100644
index 0000000..0df816e
--- /dev/null
+++ b/src/block-boulder-ui.png
Binary files differ
diff --git a/src/block-bridge-conduit-ui.png b/src/block-bridge-conduit-ui.png
new file mode 100644
index 0000000..2e094c6
--- /dev/null
+++ b/src/block-bridge-conduit-ui.png
Binary files differ
diff --git a/src/block-bridge-conveyor-ui.png b/src/block-bridge-conveyor-ui.png
new file mode 100644
index 0000000..4d0bf12
--- /dev/null
+++ b/src/block-bridge-conveyor-ui.png
Binary files differ
diff --git a/src/block-coal-centrifuge-ui.png b/src/block-coal-centrifuge-ui.png
new file mode 100644
index 0000000..f1a37d2
--- /dev/null
+++ b/src/block-coal-centrifuge-ui.png
Binary files differ
diff --git a/src/block-combustion-generator-ui.png b/src/block-combustion-generator-ui.png
new file mode 100644
index 0000000..90a2ca9
--- /dev/null
+++ b/src/block-combustion-generator-ui.png
Binary files differ
diff --git a/src/block-command-center-ui.png b/src/block-command-center-ui.png
new file mode 100644
index 0000000..0c8adb0
--- /dev/null
+++ b/src/block-command-center-ui.png
Binary files differ
diff --git a/src/block-conduit-ui.png b/src/block-conduit-ui.png
new file mode 100644
index 0000000..98eb54a
--- /dev/null
+++ b/src/block-conduit-ui.png
Binary files differ
diff --git a/src/block-constructor-ui.png b/src/block-constructor-ui.png
new file mode 100644
index 0000000..23e23a8
--- /dev/null
+++ b/src/block-constructor-ui.png
Binary files differ
diff --git a/src/block-container-ui.png b/src/block-container-ui.png
new file mode 100644
index 0000000..5002bfa
--- /dev/null
+++ b/src/block-container-ui.png
Binary files differ
diff --git a/src/block-conveyor-ui.png b/src/block-conveyor-ui.png
new file mode 100644
index 0000000..31db9b1
--- /dev/null
+++ b/src/block-conveyor-ui.png
Binary files differ
diff --git a/src/block-copper-wall-large-ui.png b/src/block-copper-wall-large-ui.png
new file mode 100644
index 0000000..ab65b53
--- /dev/null
+++ b/src/block-copper-wall-large-ui.png
Binary files differ
diff --git a/src/block-copper-wall-ui.png b/src/block-copper-wall-ui.png
new file mode 100644
index 0000000..489f7f5
--- /dev/null
+++ b/src/block-copper-wall-ui.png
Binary files differ
diff --git a/src/block-core-foundation-ui.png b/src/block-core-foundation-ui.png
new file mode 100644
index 0000000..dc69ee3
--- /dev/null
+++ b/src/block-core-foundation-ui.png
Binary files differ
diff --git a/src/block-core-nucleus-ui.png b/src/block-core-nucleus-ui.png
new file mode 100644
index 0000000..98c92c9
--- /dev/null
+++ b/src/block-core-nucleus-ui.png
Binary files differ
diff --git a/src/block-core-shard-ui.png b/src/block-core-shard-ui.png
new file mode 100644
index 0000000..67af185
--- /dev/null
+++ b/src/block-core-shard-ui.png
Binary files differ
diff --git a/src/block-cryofluid-mixer-ui.png b/src/block-cryofluid-mixer-ui.png
new file mode 100644
index 0000000..331a78e
--- /dev/null
+++ b/src/block-cryofluid-mixer-ui.png
Binary files differ
diff --git a/src/block-cultivator-ui.png b/src/block-cultivator-ui.png
new file mode 100644
index 0000000..484a0eb
--- /dev/null
+++ b/src/block-cultivator-ui.png
Binary files differ
diff --git a/src/block-cyclone-ui.png b/src/block-cyclone-ui.png
new file mode 100644
index 0000000..94c67ec
--- /dev/null
+++ b/src/block-cyclone-ui.png
Binary files differ
diff --git a/src/block-deconstructor-ui.png b/src/block-deconstructor-ui.png
new file mode 100644
index 0000000..2ae8ab4
--- /dev/null
+++ b/src/block-deconstructor-ui.png
Binary files differ
diff --git a/src/block-differential-generator-ui.png b/src/block-differential-generator-ui.png
new file mode 100644
index 0000000..7d87f77
--- /dev/null
+++ b/src/block-differential-generator-ui.png
Binary files differ
diff --git a/src/block-diode-ui.png b/src/block-diode-ui.png
new file mode 100644
index 0000000..4b468fe
--- /dev/null
+++ b/src/block-diode-ui.png
Binary files differ
diff --git a/src/block-disassembler-ui.png b/src/block-disassembler-ui.png
new file mode 100644
index 0000000..cdf01ac
--- /dev/null
+++ b/src/block-disassembler-ui.png
Binary files differ
diff --git a/src/block-distributor-ui.png b/src/block-distributor-ui.png
new file mode 100644
index 0000000..c8f74de
--- /dev/null
+++ b/src/block-distributor-ui.png
Binary files differ
diff --git a/src/block-door-large-ui.png b/src/block-door-large-ui.png
new file mode 100644
index 0000000..3232ba8
--- /dev/null
+++ b/src/block-door-large-ui.png
Binary files differ
diff --git a/src/block-door-ui.png b/src/block-door-ui.png
new file mode 100644
index 0000000..70a4c3b
--- /dev/null
+++ b/src/block-door-ui.png
Binary files differ
diff --git a/src/block-duct-bridge-ui.png b/src/block-duct-bridge-ui.png
new file mode 100644
index 0000000..3726f7c
--- /dev/null
+++ b/src/block-duct-bridge-ui.png
Binary files differ
diff --git a/src/block-duct-router-ui.png b/src/block-duct-router-ui.png
new file mode 100644
index 0000000..3fc6f48
--- /dev/null
+++ b/src/block-duct-router-ui.png
Binary files differ
diff --git a/src/block-duct-ui.png b/src/block-duct-ui.png
new file mode 100644
index 0000000..4643f05
--- /dev/null
+++ b/src/block-duct-ui.png
Binary files differ
diff --git a/src/block-duo-ui.png b/src/block-duo-ui.png
new file mode 100644
index 0000000..d09de61
--- /dev/null
+++ b/src/block-duo-ui.png
Binary files differ
diff --git a/src/block-exponential-reconstructor-ui.png b/src/block-exponential-reconstructor-ui.png
new file mode 100644
index 0000000..68fd35b
--- /dev/null
+++ b/src/block-exponential-reconstructor-ui.png
Binary files differ
diff --git a/src/block-force-projector-ui.png b/src/block-force-projector-ui.png
new file mode 100644
index 0000000..d2806b5
--- /dev/null
+++ b/src/block-force-projector-ui.png
Binary files differ
diff --git a/src/block-foreshadow-ui.png b/src/block-foreshadow-ui.png
new file mode 100644
index 0000000..98daf55
--- /dev/null
+++ b/src/block-foreshadow-ui.png
Binary files differ
diff --git a/src/block-fuse-ui.png b/src/block-fuse-ui.png
new file mode 100644
index 0000000..b456b59
--- /dev/null
+++ b/src/block-fuse-ui.png
Binary files differ
diff --git a/src/block-graphite-press-ui.png b/src/block-graphite-press-ui.png
new file mode 100644
index 0000000..26973f5
--- /dev/null
+++ b/src/block-graphite-press-ui.png
Binary files differ
diff --git a/src/block-ground-factory-ui.png b/src/block-ground-factory-ui.png
new file mode 100644
index 0000000..4338574
--- /dev/null
+++ b/src/block-ground-factory-ui.png
Binary files differ
diff --git a/src/block-hail-ui.png b/src/block-hail-ui.png
new file mode 100644
index 0000000..5aafbcf
--- /dev/null
+++ b/src/block-hail-ui.png
Binary files differ
diff --git a/src/block-hyper-processor-ui.png b/src/block-hyper-processor-ui.png
new file mode 100644
index 0000000..82f1502
--- /dev/null
+++ b/src/block-hyper-processor-ui.png
Binary files differ
diff --git a/src/block-illuminator-ui.png b/src/block-illuminator-ui.png
new file mode 100644
index 0000000..4a15f76
--- /dev/null
+++ b/src/block-illuminator-ui.png
Binary files differ
diff --git a/src/block-impact-reactor-ui.png b/src/block-impact-reactor-ui.png
new file mode 100644
index 0000000..41403d9
--- /dev/null
+++ b/src/block-impact-reactor-ui.png
Binary files differ
diff --git a/src/block-incinerator-ui.png b/src/block-incinerator-ui.png
new file mode 100644
index 0000000..e9714f2
--- /dev/null
+++ b/src/block-incinerator-ui.png
Binary files differ
diff --git a/src/block-interplanetary-accelerator-ui.png b/src/block-interplanetary-accelerator-ui.png
new file mode 100644
index 0000000..d7fca0b
--- /dev/null
+++ b/src/block-interplanetary-accelerator-ui.png
Binary files differ
diff --git a/src/block-inverted-sorter-ui.png b/src/block-inverted-sorter-ui.png
new file mode 100644
index 0000000..6189cd7
--- /dev/null
+++ b/src/block-inverted-sorter-ui.png
Binary files differ
diff --git a/src/block-item-source-ui.png b/src/block-item-source-ui.png
new file mode 100644
index 0000000..d502dcb
--- /dev/null
+++ b/src/block-item-source-ui.png
Binary files differ
diff --git a/src/block-item-void-ui.png b/src/block-item-void-ui.png
new file mode 100644
index 0000000..063444e
--- /dev/null
+++ b/src/block-item-void-ui.png
Binary files differ
diff --git a/src/block-junction-ui.png b/src/block-junction-ui.png
new file mode 100644
index 0000000..3f970c8
--- /dev/null
+++ b/src/block-junction-ui.png
Binary files differ
diff --git a/src/block-kiln-ui.png b/src/block-kiln-ui.png
new file mode 100644
index 0000000..4a7242d
--- /dev/null
+++ b/src/block-kiln-ui.png
Binary files differ
diff --git a/src/block-lancer-ui.png b/src/block-lancer-ui.png
new file mode 100644
index 0000000..2e7ba2a
--- /dev/null
+++ b/src/block-lancer-ui.png
Binary files differ
diff --git a/src/block-large-constructor-ui.png b/src/block-large-constructor-ui.png
new file mode 100644
index 0000000..15a8ecf
--- /dev/null
+++ b/src/block-large-constructor-ui.png
Binary files differ
diff --git a/src/block-large-logic-display-ui.png b/src/block-large-logic-display-ui.png
new file mode 100644
index 0000000..e768bf2
--- /dev/null
+++ b/src/block-large-logic-display-ui.png
Binary files differ
diff --git a/src/block-laser-drill-ui.png b/src/block-laser-drill-ui.png
new file mode 100644
index 0000000..5d038ca
--- /dev/null
+++ b/src/block-laser-drill-ui.png
Binary files differ
diff --git a/src/block-launch-pad-ui.png b/src/block-launch-pad-ui.png
new file mode 100644
index 0000000..fe24c36
--- /dev/null
+++ b/src/block-launch-pad-ui.png
Binary files differ
diff --git a/src/block-liquid-container-full.png b/src/block-liquid-container-full.png
new file mode 100644
index 0000000..b2a8180
--- /dev/null
+++ b/src/block-liquid-container-full.png
Binary files differ
diff --git a/src/block-liquid-container-ui.png b/src/block-liquid-container-ui.png
new file mode 100644
index 0000000..b2a8180
--- /dev/null
+++ b/src/block-liquid-container-ui.png
Binary files differ
diff --git a/src/block-liquid-junction-ui.png b/src/block-liquid-junction-ui.png
new file mode 100644
index 0000000..bbf4788
--- /dev/null
+++ b/src/block-liquid-junction-ui.png
Binary files differ
diff --git a/src/block-liquid-router-full.png b/src/block-liquid-router-full.png
new file mode 100644
index 0000000..c5ca0e0
--- /dev/null
+++ b/src/block-liquid-router-full.png
Binary files differ
diff --git a/src/block-liquid-router-ui.png b/src/block-liquid-router-ui.png
new file mode 100644
index 0000000..c5ca0e0
--- /dev/null
+++ b/src/block-liquid-router-ui.png
Binary files differ
diff --git a/src/block-liquid-source-ui.png b/src/block-liquid-source-ui.png
new file mode 100644
index 0000000..ffc0c4b
--- /dev/null
+++ b/src/block-liquid-source-ui.png
Binary files differ
diff --git a/src/block-liquid-tank-full.png b/src/block-liquid-tank-full.png
new file mode 100644
index 0000000..9dda3de
--- /dev/null
+++ b/src/block-liquid-tank-full.png
Binary files differ
diff --git a/src/block-liquid-tank-ui.png b/src/block-liquid-tank-ui.png
new file mode 100644
index 0000000..9dda3de
--- /dev/null
+++ b/src/block-liquid-tank-ui.png
Binary files differ
diff --git a/src/block-liquid-void-ui.png b/src/block-liquid-void-ui.png
new file mode 100644
index 0000000..275cdef
--- /dev/null
+++ b/src/block-liquid-void-ui.png
Binary files differ
diff --git a/src/block-logic-display-ui.png b/src/block-logic-display-ui.png
new file mode 100644
index 0000000..de49cf2
--- /dev/null
+++ b/src/block-logic-display-ui.png
Binary files differ
diff --git a/src/block-logic-processor-ui.png b/src/block-logic-processor-ui.png
new file mode 100644
index 0000000..a3033da
--- /dev/null
+++ b/src/block-logic-processor-ui.png
Binary files differ
diff --git a/src/block-mass-driver-ui.png b/src/block-mass-driver-ui.png
new file mode 100644
index 0000000..7cb36ce
--- /dev/null
+++ b/src/block-mass-driver-ui.png
Binary files differ
diff --git a/src/block-mechanical-drill-ui.png b/src/block-mechanical-drill-ui.png
new file mode 100644
index 0000000..340b22e
--- /dev/null
+++ b/src/block-mechanical-drill-ui.png
Binary files differ
diff --git a/src/block-mechanical-pump-ui.png b/src/block-mechanical-pump-ui.png
new file mode 100644
index 0000000..bc0b8c5
--- /dev/null
+++ b/src/block-mechanical-pump-ui.png
Binary files differ
diff --git a/src/block-meltdown-ui.png b/src/block-meltdown-ui.png
new file mode 100644
index 0000000..79d15b5
--- /dev/null
+++ b/src/block-meltdown-ui.png
Binary files differ
diff --git a/src/block-melter-ui.png b/src/block-melter-ui.png
new file mode 100644
index 0000000..5c6ba48
--- /dev/null
+++ b/src/block-melter-ui.png
Binary files differ
diff --git a/src/block-memory-bank-ui.png b/src/block-memory-bank-ui.png
new file mode 100644
index 0000000..261b813
--- /dev/null
+++ b/src/block-memory-bank-ui.png
Binary files differ
diff --git a/src/block-memory-cell-ui.png b/src/block-memory-cell-ui.png
new file mode 100644
index 0000000..bed33fe
--- /dev/null
+++ b/src/block-memory-cell-ui.png
Binary files differ
diff --git a/src/block-mend-projector-ui.png b/src/block-mend-projector-ui.png
new file mode 100644
index 0000000..e2c8dc8
--- /dev/null
+++ b/src/block-mend-projector-ui.png
Binary files differ
diff --git a/src/block-mender-ui.png b/src/block-mender-ui.png
new file mode 100644
index 0000000..64669e7
--- /dev/null
+++ b/src/block-mender-ui.png
Binary files differ
diff --git a/src/block-message-ui.png b/src/block-message-ui.png
new file mode 100644
index 0000000..d6e1f7d
--- /dev/null
+++ b/src/block-message-ui.png
Binary files differ
diff --git a/src/block-micro-processor-ui.png b/src/block-micro-processor-ui.png
new file mode 100644
index 0000000..ffa707b
--- /dev/null
+++ b/src/block-micro-processor-ui.png
Binary files differ
diff --git a/src/block-multi-press-ui.png b/src/block-multi-press-ui.png
new file mode 100644
index 0000000..935f223
--- /dev/null
+++ b/src/block-multi-press-ui.png
Binary files differ
diff --git a/src/block-multiplicative-reconstructor-ui.png b/src/block-multiplicative-reconstructor-ui.png
new file mode 100644
index 0000000..7c9da54
--- /dev/null
+++ b/src/block-multiplicative-reconstructor-ui.png
Binary files differ
diff --git a/src/block-naval-factory-ui.png b/src/block-naval-factory-ui.png
new file mode 100644
index 0000000..a71650c
--- /dev/null
+++ b/src/block-naval-factory-ui.png
Binary files differ
diff --git a/src/block-oil-extractor-ui.png b/src/block-oil-extractor-ui.png
new file mode 100644
index 0000000..a919d6b
--- /dev/null
+++ b/src/block-oil-extractor-ui.png
Binary files differ
diff --git a/src/block-ore-coal-ui.png b/src/block-ore-coal-ui.png
new file mode 100644
index 0000000..57f4c1c
--- /dev/null
+++ b/src/block-ore-coal-ui.png
Binary files differ
diff --git a/src/block-ore-copper-ui.png b/src/block-ore-copper-ui.png
new file mode 100644
index 0000000..711ea86
--- /dev/null
+++ b/src/block-ore-copper-ui.png
Binary files differ
diff --git a/src/block-ore-lead-ui.png b/src/block-ore-lead-ui.png
new file mode 100644
index 0000000..3fe9900
--- /dev/null
+++ b/src/block-ore-lead-ui.png
Binary files differ
diff --git a/src/block-ore-scrap-ui.png b/src/block-ore-scrap-ui.png
new file mode 100644
index 0000000..229f416
--- /dev/null
+++ b/src/block-ore-scrap-ui.png
Binary files differ
diff --git a/src/block-ore-thorium-ui.png b/src/block-ore-thorium-ui.png
new file mode 100644
index 0000000..8591cb0
--- /dev/null
+++ b/src/block-ore-thorium-ui.png
Binary files differ
diff --git a/src/block-ore-titanium-ui.png b/src/block-ore-titanium-ui.png
new file mode 100644
index 0000000..551b816
--- /dev/null
+++ b/src/block-ore-titanium-ui.png
Binary files differ
diff --git a/src/block-overdrive-dome-ui.png b/src/block-overdrive-dome-ui.png
new file mode 100644
index 0000000..84c2d12
--- /dev/null
+++ b/src/block-overdrive-dome-ui.png
Binary files differ
diff --git a/src/block-overdrive-projector-ui.png b/src/block-overdrive-projector-ui.png
new file mode 100644
index 0000000..57fe375
--- /dev/null
+++ b/src/block-overdrive-projector-ui.png
Binary files differ
diff --git a/src/block-overflow-gate-ui.png b/src/block-overflow-gate-ui.png
new file mode 100644
index 0000000..3990f41
--- /dev/null
+++ b/src/block-overflow-gate-ui.png
Binary files differ
diff --git a/src/block-parallax-ui.png b/src/block-parallax-ui.png
new file mode 100644
index 0000000..be7deee
--- /dev/null
+++ b/src/block-parallax-ui.png
Binary files differ
diff --git a/src/block-payload-conveyor-ui.png b/src/block-payload-conveyor-ui.png
new file mode 100644
index 0000000..520c39d
--- /dev/null
+++ b/src/block-payload-conveyor-ui.png
Binary files differ
diff --git a/src/block-payload-loader-ui.png b/src/block-payload-loader-ui.png
new file mode 100644
index 0000000..c57664c
--- /dev/null
+++ b/src/block-payload-loader-ui.png
Binary files differ
diff --git a/src/block-payload-propulsion-tower-ui.png b/src/block-payload-propulsion-tower-ui.png
new file mode 100644
index 0000000..fa47f9a
--- /dev/null
+++ b/src/block-payload-propulsion-tower-ui.png
Binary files differ
diff --git a/src/block-payload-router-ui.png b/src/block-payload-router-ui.png
new file mode 100644
index 0000000..0567bf9
--- /dev/null
+++ b/src/block-payload-router-ui.png
Binary files differ
diff --git a/src/block-payload-source-ui.png b/src/block-payload-source-ui.png
new file mode 100644
index 0000000..6e13941
--- /dev/null
+++ b/src/block-payload-source-ui.png
Binary files differ
diff --git a/src/block-payload-unloader-ui.png b/src/block-payload-unloader-ui.png
new file mode 100644
index 0000000..48dcf3c
--- /dev/null
+++ b/src/block-payload-unloader-ui.png
Binary files differ
diff --git a/src/block-payload-void-ui.png b/src/block-payload-void-ui.png
new file mode 100644
index 0000000..23a3985
--- /dev/null
+++ b/src/block-payload-void-ui.png
Binary files differ
diff --git a/src/block-phase-conduit-ui.png b/src/block-phase-conduit-ui.png
new file mode 100644
index 0000000..c41c626
--- /dev/null
+++ b/src/block-phase-conduit-ui.png
Binary files differ
diff --git a/src/block-phase-conveyor-ui.png b/src/block-phase-conveyor-ui.png
new file mode 100644
index 0000000..66380e4
--- /dev/null
+++ b/src/block-phase-conveyor-ui.png
Binary files differ
diff --git a/src/block-phase-wall-large-ui.png b/src/block-phase-wall-large-ui.png
new file mode 100644
index 0000000..2ff8d0c
--- /dev/null
+++ b/src/block-phase-wall-large-ui.png
Binary files differ
diff --git a/src/block-phase-wall-ui.png b/src/block-phase-wall-ui.png
new file mode 100644
index 0000000..a480ae4
--- /dev/null
+++ b/src/block-phase-wall-ui.png
Binary files differ
diff --git a/src/block-phase-weaver-ui.png b/src/block-phase-weaver-ui.png
new file mode 100644
index 0000000..9049195
--- /dev/null
+++ b/src/block-phase-weaver-ui.png
Binary files differ
diff --git a/src/block-plastanium-compressor-ui.png b/src/block-plastanium-compressor-ui.png
new file mode 100644
index 0000000..affad7c
--- /dev/null
+++ b/src/block-plastanium-compressor-ui.png
Binary files differ
diff --git a/src/block-plastanium-conveyor-ui.png b/src/block-plastanium-conveyor-ui.png
new file mode 100644
index 0000000..1d42a7a
--- /dev/null
+++ b/src/block-plastanium-conveyor-ui.png
Binary files differ
diff --git a/src/block-plastanium-wall-large-ui.png b/src/block-plastanium-wall-large-ui.png
new file mode 100644
index 0000000..2788ee4
--- /dev/null
+++ b/src/block-plastanium-wall-large-ui.png
Binary files differ
diff --git a/src/block-plastanium-wall-ui.png b/src/block-plastanium-wall-ui.png
new file mode 100644
index 0000000..047bfb0
--- /dev/null
+++ b/src/block-plastanium-wall-ui.png
Binary files differ
diff --git a/src/block-plated-conduit-ui.png b/src/block-plated-conduit-ui.png
new file mode 100644
index 0000000..74aafed
--- /dev/null
+++ b/src/block-plated-conduit-ui.png
Binary files differ
diff --git a/src/block-pneumatic-drill-ui.png b/src/block-pneumatic-drill-ui.png
new file mode 100644
index 0000000..6e269a7
--- /dev/null
+++ b/src/block-pneumatic-drill-ui.png
Binary files differ
diff --git a/src/block-power-node-large-ui.png b/src/block-power-node-large-ui.png
new file mode 100644
index 0000000..7bace10
--- /dev/null
+++ b/src/block-power-node-large-ui.png
Binary files differ
diff --git a/src/block-power-node-ui.png b/src/block-power-node-ui.png
new file mode 100644
index 0000000..64110c7
--- /dev/null
+++ b/src/block-power-node-ui.png
Binary files differ
diff --git a/src/block-power-source-ui.png b/src/block-power-source-ui.png
new file mode 100644
index 0000000..aebb213
--- /dev/null
+++ b/src/block-power-source-ui.png
Binary files differ
diff --git a/src/block-power-void-ui.png b/src/block-power-void-ui.png
new file mode 100644
index 0000000..f039052
--- /dev/null
+++ b/src/block-power-void-ui.png
Binary files differ
diff --git a/src/block-pulse-conduit-ui.png b/src/block-pulse-conduit-ui.png
new file mode 100644
index 0000000..1f91737
--- /dev/null
+++ b/src/block-pulse-conduit-ui.png
Binary files differ
diff --git a/src/block-pulverizer-ui.png b/src/block-pulverizer-ui.png
new file mode 100644
index 0000000..c671b58
--- /dev/null
+++ b/src/block-pulverizer-ui.png
Binary files differ
diff --git a/src/block-pyratite-mixer-ui.png b/src/block-pyratite-mixer-ui.png
new file mode 100644
index 0000000..087bf1b
--- /dev/null
+++ b/src/block-pyratite-mixer-ui.png
Binary files differ
diff --git a/src/block-repair-point-ui.png b/src/block-repair-point-ui.png
new file mode 100644
index 0000000..a2d4d71
--- /dev/null
+++ b/src/block-repair-point-ui.png
Binary files differ
diff --git a/src/block-repair-turret-ui.png b/src/block-repair-turret-ui.png
new file mode 100644
index 0000000..dd34265
--- /dev/null
+++ b/src/block-repair-turret-ui.png
Binary files differ
diff --git a/src/block-ripple-ui.png b/src/block-ripple-ui.png
new file mode 100644
index 0000000..785e0bf
--- /dev/null
+++ b/src/block-ripple-ui.png
Binary files differ
diff --git a/src/block-rotary-pump-ui.png b/src/block-rotary-pump-ui.png
new file mode 100644
index 0000000..4c54a0a
--- /dev/null
+++ b/src/block-rotary-pump-ui.png
Binary files differ
diff --git a/src/block-router-ui.png b/src/block-router-ui.png
new file mode 100644
index 0000000..111efb6
--- /dev/null
+++ b/src/block-router-ui.png
Binary files differ
diff --git a/src/block-rtg-generator-ui.png b/src/block-rtg-generator-ui.png
new file mode 100644
index 0000000..c233145
--- /dev/null
+++ b/src/block-rtg-generator-ui.png
Binary files differ
diff --git a/src/block-salvo-ui.png b/src/block-salvo-ui.png
new file mode 100644
index 0000000..0e15c43
--- /dev/null
+++ b/src/block-salvo-ui.png
Binary files differ
diff --git a/src/block-scatter-ui.png b/src/block-scatter-ui.png
new file mode 100644
index 0000000..697d314
--- /dev/null
+++ b/src/block-scatter-ui.png
Binary files differ
diff --git a/src/block-scorch-ui.png b/src/block-scorch-ui.png
new file mode 100644
index 0000000..61d8cc3
--- /dev/null
+++ b/src/block-scorch-ui.png
Binary files differ
diff --git a/src/block-scrap-wall-gigantic-ui.png b/src/block-scrap-wall-gigantic-ui.png
new file mode 100644
index 0000000..3291b27
--- /dev/null
+++ b/src/block-scrap-wall-gigantic-ui.png
Binary files differ
diff --git a/src/block-scrap-wall-huge-ui.png b/src/block-scrap-wall-huge-ui.png
new file mode 100644
index 0000000..c59e524
--- /dev/null
+++ b/src/block-scrap-wall-huge-ui.png
Binary files differ
diff --git a/src/block-scrap-wall-large-ui.png b/src/block-scrap-wall-large-ui.png
new file mode 100644
index 0000000..1032659
--- /dev/null
+++ b/src/block-scrap-wall-large-ui.png
Binary files differ
diff --git a/src/block-scrap-wall-ui.png b/src/block-scrap-wall-ui.png
new file mode 100644
index 0000000..4675f65
--- /dev/null
+++ b/src/block-scrap-wall-ui.png
Binary files differ
diff --git a/src/block-segment-ui.png b/src/block-segment-ui.png
new file mode 100644
index 0000000..0208b1e
--- /dev/null
+++ b/src/block-segment-ui.png
Binary files differ
diff --git a/src/block-separator-ui.png b/src/block-separator-ui.png
new file mode 100644
index 0000000..d48a247
--- /dev/null
+++ b/src/block-separator-ui.png
Binary files differ
diff --git a/src/block-shock-mine-ui.png b/src/block-shock-mine-ui.png
new file mode 100644
index 0000000..2c6d143
--- /dev/null
+++ b/src/block-shock-mine-ui.png
Binary files differ
diff --git a/src/block-silicon-crucible-ui.png b/src/block-silicon-crucible-ui.png
new file mode 100644
index 0000000..c4bb4c0
--- /dev/null
+++ b/src/block-silicon-crucible-ui.png
Binary files differ
diff --git a/src/block-silicon-smelter-ui.png b/src/block-silicon-smelter-ui.png
new file mode 100644
index 0000000..c015651
--- /dev/null
+++ b/src/block-silicon-smelter-ui.png
Binary files differ
diff --git a/src/block-solar-panel-large-ui.png b/src/block-solar-panel-large-ui.png
new file mode 100644
index 0000000..28bbf47
--- /dev/null
+++ b/src/block-solar-panel-large-ui.png
Binary files differ
diff --git a/src/block-solar-panel-ui.png b/src/block-solar-panel-ui.png
new file mode 100644
index 0000000..dd8d140
--- /dev/null
+++ b/src/block-solar-panel-ui.png
Binary files differ
diff --git a/src/block-sorter-ui.png b/src/block-sorter-ui.png
new file mode 100644
index 0000000..22a8828
--- /dev/null
+++ b/src/block-sorter-ui.png
Binary files differ
diff --git a/src/block-spawn-ui.png b/src/block-spawn-ui.png
new file mode 100644
index 0000000..06a127b
--- /dev/null
+++ b/src/block-spawn-ui.png
Binary files differ
diff --git a/src/block-spectre-ui.png b/src/block-spectre-ui.png
new file mode 100644
index 0000000..f3bc48b
--- /dev/null
+++ b/src/block-spectre-ui.png
Binary files differ
diff --git a/src/block-spore-press-ui.png b/src/block-spore-press-ui.png
new file mode 100644
index 0000000..9cc7b34
--- /dev/null
+++ b/src/block-spore-press-ui.png
Binary files differ
diff --git a/src/block-steam-generator-ui.png b/src/block-steam-generator-ui.png
new file mode 100644
index 0000000..6c967c3
--- /dev/null
+++ b/src/block-steam-generator-ui.png
Binary files differ
diff --git a/src/block-surge-tower-ui.png b/src/block-surge-tower-ui.png
new file mode 100644
index 0000000..3e7bbd4
--- /dev/null
+++ b/src/block-surge-tower-ui.png
Binary files differ
diff --git a/src/block-surge-wall-large-ui.png b/src/block-surge-wall-large-ui.png
new file mode 100644
index 0000000..c12d01d
--- /dev/null
+++ b/src/block-surge-wall-large-ui.png
Binary files differ
diff --git a/src/block-surge-wall-ui.png b/src/block-surge-wall-ui.png
new file mode 100644
index 0000000..d5414c3
--- /dev/null
+++ b/src/block-surge-wall-ui.png
Binary files differ
diff --git a/src/block-swarmer-ui.png b/src/block-swarmer-ui.png
new file mode 100644
index 0000000..ee25046
--- /dev/null
+++ b/src/block-swarmer-ui.png
Binary files differ
diff --git a/src/block-switch-ui.png b/src/block-switch-ui.png
new file mode 100644
index 0000000..41f2327
--- /dev/null
+++ b/src/block-switch-ui.png
Binary files differ
diff --git a/src/block-tetrative-reconstructor-ui.png b/src/block-tetrative-reconstructor-ui.png
new file mode 100644
index 0000000..43d3a42
--- /dev/null
+++ b/src/block-tetrative-reconstructor-ui.png
Binary files differ
diff --git a/src/block-thermal-generator-ui.png b/src/block-thermal-generator-ui.png
new file mode 100644
index 0000000..052f8a4
--- /dev/null
+++ b/src/block-thermal-generator-ui.png
Binary files differ
diff --git a/src/block-thermal-pump-ui.png b/src/block-thermal-pump-ui.png
new file mode 100644
index 0000000..b0ea3c2
--- /dev/null
+++ b/src/block-thermal-pump-ui.png
Binary files differ
diff --git a/src/block-thorium-reactor-ui.png b/src/block-thorium-reactor-ui.png
new file mode 100644
index 0000000..6f56e7e
--- /dev/null
+++ b/src/block-thorium-reactor-ui.png
Binary files differ
diff --git a/src/block-thorium-wall-large-ui.png b/src/block-thorium-wall-large-ui.png
new file mode 100644
index 0000000..2506ea4
--- /dev/null
+++ b/src/block-thorium-wall-large-ui.png
Binary files differ
diff --git a/src/block-thorium-wall-ui.png b/src/block-thorium-wall-ui.png
new file mode 100644
index 0000000..d393062
--- /dev/null
+++ b/src/block-thorium-wall-ui.png
Binary files differ
diff --git a/src/block-thruster-ui.png b/src/block-thruster-ui.png
new file mode 100644
index 0000000..7cb7be8
--- /dev/null
+++ b/src/block-thruster-ui.png
Binary files differ
diff --git a/src/block-titanium-conveyor-ui.png b/src/block-titanium-conveyor-ui.png
new file mode 100644
index 0000000..2520333
--- /dev/null
+++ b/src/block-titanium-conveyor-ui.png
Binary files differ
diff --git a/src/block-titanium-wall-large-ui.png b/src/block-titanium-wall-large-ui.png
new file mode 100644
index 0000000..9c17ede
--- /dev/null
+++ b/src/block-titanium-wall-large-ui.png
Binary files differ
diff --git a/src/block-titanium-wall-ui.png b/src/block-titanium-wall-ui.png
new file mode 100644
index 0000000..02f40cc
--- /dev/null
+++ b/src/block-titanium-wall-ui.png
Binary files differ
diff --git a/src/block-tsunami-ui.png b/src/block-tsunami-ui.png
new file mode 100644
index 0000000..eb8a51e
--- /dev/null
+++ b/src/block-tsunami-ui.png
Binary files differ
diff --git a/src/block-underflow-gate-ui.png b/src/block-underflow-gate-ui.png
new file mode 100644
index 0000000..5f74509
--- /dev/null
+++ b/src/block-underflow-gate-ui.png
Binary files differ
diff --git a/src/block-unloader-ui.png b/src/block-unloader-ui.png
new file mode 100644
index 0000000..fd78447
--- /dev/null
+++ b/src/block-unloader-ui.png
Binary files differ
diff --git a/src/block-vault-ui.png b/src/block-vault-ui.png
new file mode 100644
index 0000000..ca695f0
--- /dev/null
+++ b/src/block-vault-ui.png
Binary files differ
diff --git a/src/block-water-extractor-ui.png b/src/block-water-extractor-ui.png
new file mode 100644
index 0000000..fc02a1c
--- /dev/null
+++ b/src/block-water-extractor-ui.png
Binary files differ
diff --git a/src/block-wave-ui.png b/src/block-wave-ui.png
new file mode 100644
index 0000000..9eaea13
--- /dev/null
+++ b/src/block-wave-ui.png
Binary files differ
diff --git a/src/spritesheet.json b/src/spritesheet.json
new file mode 100644
index 0000000..53ea1de
--- /dev/null
+++ b/src/spritesheet.json
@@ -0,0 +1,1921 @@
+{
+ "meta": {
+ "image": "spritesheet.png",
+ "size": {"w":1024,"h":1024},
+ "scale": "1"
+ },
+ "frames": {
+ "block-blast-drill-ui.png":
+ {
+ "frame": {"x":0,"y":0,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-core-foundation-ui.png":
+ {
+ "frame": {"x":128,"y":0,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-core-nucleus-ui.png":
+ {
+ "frame": {"x":0,"y":128,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-deconstructor-ui.png":
+ {
+ "frame": {"x":128,"y":128,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-exponential-reconstructor-ui.png":
+ {
+ "frame": {"x":256,"y":0,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-foreshadow-ui.png":
+ {
+ "frame": {"x":256,"y":128,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-impact-reactor-ui.png":
+ {
+ "frame": {"x":0,"y":256,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-interplanetary-accelerator-ui.png":
+ {
+ "frame": {"x":128,"y":256,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-large-constructor-ui.png":
+ {
+ "frame": {"x":256,"y":256,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-large-logic-display-ui.png":
+ {
+ "frame": {"x":384,"y":0,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-meltdown-ui.png":
+ {
+ "frame": {"x":384,"y":128,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-multiplicative-reconstructor-ui.png":
+ {
+ "frame": {"x":384,"y":256,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-payload-propulsion-tower-ui.png":
+ {
+ "frame": {"x":0,"y":384,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-payload-source-ui.png":
+ {
+ "frame": {"x":128,"y":384,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-payload-void-ui.png":
+ {
+ "frame": {"x":256,"y":384,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-scrap-wall-gigantic-ui.png":
+ {
+ "frame": {"x":384,"y":384,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-spectre-ui.png":
+ {
+ "frame": {"x":512,"y":0,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-tetrative-reconstructor-ui.png":
+ {
+ "frame": {"x":512,"y":128,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-thruster-ui.png":
+ {
+ "frame": {"x":512,"y":256,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-white-tree-dead-ui.png":
+ {
+ "frame": {"x":512,"y":384,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-white-tree-ui.png":
+ {
+ "frame": {"x":0,"y":512,"w":128,"h":128},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":128,"h":128},
+ "sourceSize": {"w":128,"h":128}
+ },
+ "block-additive-reconstructor-ui.png":
+ {
+ "frame": {"x":128,"y":512,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-air-factory-ui.png":
+ {
+ "frame": {"x":224,"y":512,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-alloy-smelter-ui.png":
+ {
+ "frame": {"x":320,"y":512,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-battery-large-ui.png":
+ {
+ "frame": {"x":416,"y":512,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-constructor-ui.png":
+ {
+ "frame": {"x":512,"y":512,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-core-shard-ui.png":
+ {
+ "frame": {"x":640,"y":0,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-cyclone-ui.png":
+ {
+ "frame": {"x":640,"y":96,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-differential-generator-ui.png":
+ {
+ "frame": {"x":640,"y":192,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-disassembler-ui.png":
+ {
+ "frame": {"x":640,"y":288,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-force-projector-ui.png":
+ {
+ "frame": {"x":640,"y":384,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-fuse-ui.png":
+ {
+ "frame": {"x":640,"y":480,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-ground-factory-ui.png":
+ {
+ "frame": {"x":0,"y":640,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-hyper-processor-ui.png":
+ {
+ "frame": {"x":96,"y":640,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-laser-drill-ui.png":
+ {
+ "frame": {"x":192,"y":640,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-launch-pad-ui.png":
+ {
+ "frame": {"x":288,"y":640,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-liquid-tank-full.png":
+ {
+ "frame": {"x":384,"y":640,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-liquid-tank-ui.png":
+ {
+ "frame": {"x":480,"y":640,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-logic-display-ui.png":
+ {
+ "frame": {"x":576,"y":640,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-mass-driver-ui.png":
+ {
+ "frame": {"x":736,"y":0,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-multi-press-ui.png":
+ {
+ "frame": {"x":736,"y":96,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-naval-factory-ui.png":
+ {
+ "frame": {"x":736,"y":192,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-oil-extractor-ui.png":
+ {
+ "frame": {"x":736,"y":288,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-overdrive-dome-ui.png":
+ {
+ "frame": {"x":736,"y":384,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-payload-conveyor-ui.png":
+ {
+ "frame": {"x":736,"y":480,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-payload-loader-ui.png":
+ {
+ "frame": {"x":736,"y":576,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-payload-router-ui.png":
+ {
+ "frame": {"x":0,"y":736,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-payload-unloader-ui.png":
+ {
+ "frame": {"x":96,"y":736,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-ripple-ui.png":
+ {
+ "frame": {"x":192,"y":736,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-scrap-wall-huge-ui.png":
+ {
+ "frame": {"x":288,"y":736,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-silicon-crucible-ui.png":
+ {
+ "frame": {"x":384,"y":736,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-solar-panel-large-ui.png":
+ {
+ "frame": {"x":480,"y":736,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-thermal-pump-ui.png":
+ {
+ "frame": {"x":576,"y":736,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-thorium-reactor-ui.png":
+ {
+ "frame": {"x":672,"y":736,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-tsunami-ui.png":
+ {
+ "frame": {"x":832,"y":0,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-vault-ui.png":
+ {
+ "frame": {"x":832,"y":96,"w":96,"h":96},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
+ "sourceSize": {"w":96,"h":96}
+ },
+ "block-blast-mixer-ui.png":
+ {
+ "frame": {"x":832,"y":192,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-coal-centrifuge-ui.png":
+ {
+ "frame": {"x":832,"y":256,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-command-center-ui.png":
+ {
+ "frame": {"x":832,"y":320,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-container-ui.png":
+ {
+ "frame": {"x":832,"y":384,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-copper-wall-large-ui.png":
+ {
+ "frame": {"x":832,"y":448,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-cryofluid-mixer-full.png":
+ {
+ "frame": {"x":832,"y":512,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-cryofluid-mixer-ui.png":
+ {
+ "frame": {"x":832,"y":576,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-cultivator-ui.png":
+ {
+ "frame": {"x":832,"y":640,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-distributor-ui.png":
+ {
+ "frame": {"x":832,"y":704,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-door-large-ui.png":
+ {
+ "frame": {"x":832,"y":768,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-graphite-press-ui.png":
+ {
+ "frame": {"x":736,"y":672,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-kiln-ui.png":
+ {
+ "frame": {"x":640,"y":576,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-lancer-ui.png":
+ {
+ "frame": {"x":672,"y":640,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-liquid-container-full.png":
+ {
+ "frame": {"x":768,"y":736,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-liquid-container-ui.png":
+ {
+ "frame": {"x":0,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-logic-processor-ui.png":
+ {
+ "frame": {"x":64,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-mechanical-drill-ui.png":
+ {
+ "frame": {"x":128,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-memory-bank-ui.png":
+ {
+ "frame": {"x":192,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-mend-projector-ui.png":
+ {
+ "frame": {"x":256,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-overdrive-projector-ui.png":
+ {
+ "frame": {"x":320,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-parallax-ui.png":
+ {
+ "frame": {"x":384,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-phase-wall-large-ui.png":
+ {
+ "frame": {"x":448,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-phase-weaver-ui.png":
+ {
+ "frame": {"x":512,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-plastanium-compressor-ui.png":
+ {
+ "frame": {"x":576,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-plastanium-wall-large-ui.png":
+ {
+ "frame": {"x":640,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-pneumatic-drill-ui.png":
+ {
+ "frame": {"x":704,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-power-node-large-ui.png":
+ {
+ "frame": {"x":768,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-pyratite-mixer-ui.png":
+ {
+ "frame": {"x":832,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-repair-turret-ui.png":
+ {
+ "frame": {"x":928,"y":0,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-rotary-pump-ui.png":
+ {
+ "frame": {"x":928,"y":64,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-rtg-generator-ui.png":
+ {
+ "frame": {"x":928,"y":128,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-salvo-ui.png":
+ {
+ "frame": {"x":928,"y":192,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-scatter-ui.png":
+ {
+ "frame": {"x":928,"y":256,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-scrap-wall-large-ui.png":
+ {
+ "frame": {"x":928,"y":320,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-segment-ui.png":
+ {
+ "frame": {"x":928,"y":384,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-separator-ui.png":
+ {
+ "frame": {"x":928,"y":448,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-silicon-smelter-ui.png":
+ {
+ "frame": {"x":928,"y":512,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-spore-press-ui.png":
+ {
+ "frame": {"x":928,"y":576,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-steam-generator-ui.png":
+ {
+ "frame": {"x":928,"y":640,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-surge-tower-ui.png":
+ {
+ "frame": {"x":928,"y":704,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-surge-wall-large-ui.png":
+ {
+ "frame": {"x":928,"y":768,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-swarmer-ui.png":
+ {
+ "frame": {"x":928,"y":832,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-thermal-generator-ui.png":
+ {
+ "frame": {"x":0,"y":896,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-thorium-wall-large-ui.png":
+ {
+ "frame": {"x":64,"y":896,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-titanium-wall-large-ui.png":
+ {
+ "frame": {"x":128,"y":896,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-water-extractor-ui.png":
+ {
+ "frame": {"x":192,"y":896,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-wave-ui.png":
+ {
+ "frame": {"x":256,"y":896,"w":64,"h":64},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":64,"h":64},
+ "sourceSize": {"w":64,"h":64}
+ },
+ "block-basalt-boulder-ui.png":
+ {
+ "frame": {"x":320,"y":896,"w":48,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
+ "sourceSize": {"w":48,"h":48}
+ },
+ "block-boulder-ui.png":
+ {
+ "frame": {"x":368,"y":896,"w":48,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
+ "sourceSize": {"w":48,"h":48}
+ },
+ "block-dacite-boulder-ui.png":
+ {
+ "frame": {"x":416,"y":896,"w":48,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
+ "sourceSize": {"w":48,"h":48}
+ },
+ "block-pine-ui.png":
+ {
+ "frame": {"x":464,"y":896,"w":48,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
+ "sourceSize": {"w":48,"h":48}
+ },
+ "block-snow-boulder-ui.png":
+ {
+ "frame": {"x":512,"y":896,"w":48,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
+ "sourceSize": {"w":48,"h":48}
+ },
+ "block-snow-pine-ui.png":
+ {
+ "frame": {"x":560,"y":896,"w":48,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
+ "sourceSize": {"w":48,"h":48}
+ },
+ "block-spore-pine-ui.png":
+ {
+ "frame": {"x":608,"y":896,"w":48,"h":48},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":48,"h":48},
+ "sourceSize": {"w":48,"h":48}
+ },
+ "block-spore-cluster-ui.png":
+ {
+ "frame": {"x":656,"y":896,"w":40,"h":40},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":40,"h":40},
+ "sourceSize": {"w":40,"h":40}
+ },
+ "block-arc-ui.png":
+ {
+ "frame": {"x":896,"y":192,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-armored-conveyor-ui.png":
+ {
+ "frame": {"x":896,"y":224,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-basalt-ui.png":
+ {
+ "frame": {"x":896,"y":256,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-battery-ui.png":
+ {
+ "frame": {"x":896,"y":288,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-bridge-conduit-ui.png":
+ {
+ "frame": {"x":896,"y":320,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-bridge-conveyor-ui.png":
+ {
+ "frame": {"x":896,"y":352,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-char-ui.png":
+ {
+ "frame": {"x":896,"y":384,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-cliff-ui.png":
+ {
+ "frame": {"x":896,"y":416,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-combustion-generator-ui.png":
+ {
+ "frame": {"x":896,"y":448,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-conduit-full.png":
+ {
+ "frame": {"x":896,"y":480,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-conduit-ui.png":
+ {
+ "frame": {"x":896,"y":512,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-conveyor-ui.png":
+ {
+ "frame": {"x":896,"y":544,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-copper-wall-ui.png":
+ {
+ "frame": {"x":896,"y":576,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-crater-stone-ui.png":
+ {
+ "frame": {"x":896,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dacite-ui.png":
+ {
+ "frame": {"x":896,"y":640,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dacite-wall-ui.png":
+ {
+ "frame": {"x":896,"y":672,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dark-metal-ui.png":
+ {
+ "frame": {"x":896,"y":704,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dark-panel-1-ui.png":
+ {
+ "frame": {"x":896,"y":736,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dark-panel-2-ui.png":
+ {
+ "frame": {"x":896,"y":768,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dark-panel-3-ui.png":
+ {
+ "frame": {"x":896,"y":800,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dark-panel-4-ui.png":
+ {
+ "frame": {"x":800,"y":672,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dark-panel-5-ui.png":
+ {
+ "frame": {"x":800,"y":704,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dark-panel-6-ui.png":
+ {
+ "frame": {"x":704,"y":576,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-darksand-tainted-water-ui.png":
+ {
+ "frame": {"x":704,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-darksand-ui.png":
+ {
+ "frame": {"x":608,"y":512,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-darksand-water-ui.png":
+ {
+ "frame": {"x":608,"y":544,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-deep-tainted-water-ui.png":
+ {
+ "frame": {"x":608,"y":576,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-deep-water-ui.png":
+ {
+ "frame": {"x":128,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-diode-ui.png":
+ {
+ "frame": {"x":160,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dirt-ui.png":
+ {
+ "frame": {"x":192,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dirt-wall-ui.png":
+ {
+ "frame": {"x":224,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-door-ui.png":
+ {
+ "frame": {"x":256,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-duct-bridge-ui.png":
+ {
+ "frame": {"x":288,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-duct-router-ui.png":
+ {
+ "frame": {"x":320,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-duct-ui.png":
+ {
+ "frame": {"x":352,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-dune-wall-ui.png":
+ {
+ "frame": {"x":384,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-duo-ui.png":
+ {
+ "frame": {"x":416,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-grass-ui.png":
+ {
+ "frame": {"x":448,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-hail-ui.png":
+ {
+ "frame": {"x":480,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-hotrock-ui.png":
+ {
+ "frame": {"x":512,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-ice-snow-ui.png":
+ {
+ "frame": {"x":544,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-ice-ui.png":
+ {
+ "frame": {"x":576,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-ice-wall-ui.png":
+ {
+ "frame": {"x":608,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-illuminator-ui.png":
+ {
+ "frame": {"x":672,"y":704,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-incinerator-ui.png":
+ {
+ "frame": {"x":704,"y":704,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-inverted-sorter-ui.png":
+ {
+ "frame": {"x":768,"y":800,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-item-source-ui.png":
+ {
+ "frame": {"x":800,"y":800,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-item-void-ui.png":
+ {
+ "frame": {"x":896,"y":832,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-junction-ui.png":
+ {
+ "frame": {"x":896,"y":864,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-liquid-junction-ui.png":
+ {
+ "frame": {"x":696,"y":896,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-liquid-router-full.png":
+ {
+ "frame": {"x":728,"y":896,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-liquid-router-ui.png":
+ {
+ "frame": {"x":760,"y":896,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-liquid-source-ui.png":
+ {
+ "frame": {"x":792,"y":896,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-liquid-void-ui.png":
+ {
+ "frame": {"x":824,"y":896,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-magmarock-ui.png":
+ {
+ "frame": {"x":856,"y":896,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-mechanical-pump-ui.png":
+ {
+ "frame": {"x":888,"y":896,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-melter-ui.png":
+ {
+ "frame": {"x":920,"y":896,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-memory-cell-ui.png":
+ {
+ "frame": {"x":952,"y":896,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-mender-ui.png":
+ {
+ "frame": {"x":0,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-message-ui.png":
+ {
+ "frame": {"x":32,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-metal-floor-2-ui.png":
+ {
+ "frame": {"x":64,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-metal-floor-3-ui.png":
+ {
+ "frame": {"x":96,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-metal-floor-4-ui.png":
+ {
+ "frame": {"x":128,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-metal-floor-5-ui.png":
+ {
+ "frame": {"x":160,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-metal-floor-damaged-ui.png":
+ {
+ "frame": {"x":192,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-metal-floor-ui.png":
+ {
+ "frame": {"x":224,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-micro-processor-ui.png":
+ {
+ "frame": {"x":256,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-molten-slag-ui.png":
+ {
+ "frame": {"x":288,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-moss-ui.png":
+ {
+ "frame": {"x":320,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-mud-ui.png":
+ {
+ "frame": {"x":352,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-ore-coal-ui.png":
+ {
+ "frame": {"x":384,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-ore-copper-ui.png":
+ {
+ "frame": {"x":416,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-ore-lead-ui.png":
+ {
+ "frame": {"x":448,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-ore-scrap-ui.png":
+ {
+ "frame": {"x":480,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-ore-thorium-ui.png":
+ {
+ "frame": {"x":512,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-ore-titanium-ui.png":
+ {
+ "frame": {"x":544,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-overflow-gate-ui.png":
+ {
+ "frame": {"x":576,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-pebbles-ui.png":
+ {
+ "frame": {"x":608,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-phase-conduit-ui.png":
+ {
+ "frame": {"x":640,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-phase-conveyor-ui.png":
+ {
+ "frame": {"x":672,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-phase-wall-ui.png":
+ {
+ "frame": {"x":704,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-plastanium-conveyor-ui.png":
+ {
+ "frame": {"x":736,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-plastanium-wall-ui.png":
+ {
+ "frame": {"x":768,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-plated-conduit-full.png":
+ {
+ "frame": {"x":800,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-plated-conduit-ui.png":
+ {
+ "frame": {"x":832,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-pooled-cryofluid-ui.png":
+ {
+ "frame": {"x":864,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-power-node-ui.png":
+ {
+ "frame": {"x":896,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-power-source-ui.png":
+ {
+ "frame": {"x":928,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-power-void-ui.png":
+ {
+ "frame": {"x":960,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-pulse-conduit-full.png":
+ {
+ "frame": {"x":992,"y":0,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-pulse-conduit-ui.png":
+ {
+ "frame": {"x":992,"y":32,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-pulverizer-ui.png":
+ {
+ "frame": {"x":992,"y":64,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-repair-point-ui.png":
+ {
+ "frame": {"x":992,"y":96,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-router-ui.png":
+ {
+ "frame": {"x":992,"y":128,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-salt-ui.png":
+ {
+ "frame": {"x":992,"y":160,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-salt-wall-ui.png":
+ {
+ "frame": {"x":992,"y":192,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-sand-boulder-ui.png":
+ {
+ "frame": {"x":992,"y":224,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-sand-ui.png":
+ {
+ "frame": {"x":992,"y":256,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-sand-wall-ui.png":
+ {
+ "frame": {"x":992,"y":288,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-sand-water-ui.png":
+ {
+ "frame": {"x":992,"y":320,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-scorch-ui.png":
+ {
+ "frame": {"x":992,"y":352,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-scrap-wall-ui.png":
+ {
+ "frame": {"x":992,"y":384,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-shale-boulder-ui.png":
+ {
+ "frame": {"x":992,"y":416,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-shale-ui.png":
+ {
+ "frame": {"x":992,"y":448,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-shale-wall-ui.png":
+ {
+ "frame": {"x":992,"y":480,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-shallow-water-ui.png":
+ {
+ "frame": {"x":992,"y":512,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-shock-mine-ui.png":
+ {
+ "frame": {"x":992,"y":544,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-shrubs-ui.png":
+ {
+ "frame": {"x":992,"y":576,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-snow-ui.png":
+ {
+ "frame": {"x":992,"y":608,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-snow-wall-ui.png":
+ {
+ "frame": {"x":992,"y":640,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-solar-panel-ui.png":
+ {
+ "frame": {"x":992,"y":672,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-sorter-ui.png":
+ {
+ "frame": {"x":992,"y":704,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-space-ui.png":
+ {
+ "frame": {"x":992,"y":736,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-spawn-ui.png":
+ {
+ "frame": {"x":992,"y":768,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-spore-moss-ui.png":
+ {
+ "frame": {"x":992,"y":800,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-spore-wall-ui.png":
+ {
+ "frame": {"x":992,"y":832,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-stone-ui.png":
+ {
+ "frame": {"x":992,"y":864,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-stone-wall-ui.png":
+ {
+ "frame": {"x":992,"y":896,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-surge-wall-ui.png":
+ {
+ "frame": {"x":992,"y":928,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-switch-ui.png":
+ {
+ "frame": {"x":992,"y":960,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-tainted-water-ui.png":
+ {
+ "frame": {"x":0,"y":992,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-tar-ui.png":
+ {
+ "frame": {"x":32,"y":992,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-tendrils-ui.png":
+ {
+ "frame": {"x":64,"y":992,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-thorium-wall-ui.png":
+ {
+ "frame": {"x":96,"y":992,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-titanium-conveyor-ui.png":
+ {
+ "frame": {"x":128,"y":992,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-titanium-wall-ui.png":
+ {
+ "frame": {"x":160,"y":992,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-underflow-gate-ui.png":
+ {
+ "frame": {"x":192,"y":992,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ },
+ "block-unloader-ui.png":
+ {
+ "frame": {"x":224,"y":992,"w":32,"h":32},
+ "rotated": false,
+ "trimmed": false,
+ "spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
+ "sourceSize": {"w":32,"h":32}
+ }
+ }
+} \ No newline at end of file
diff --git a/src/spritesheet.png b/src/spritesheet.png
new file mode 100644
index 0000000..e593e34
--- /dev/null
+++ b/src/spritesheet.png
Binary files differ