diff --git a/core/assets-raw/sprites/blocks/production/alloysmelter.png b/core/assets-raw/sprites/blocks/production/alloysmelter.png index 42cb0367a3..abea2ffe3e 100644 Binary files a/core/assets-raw/sprites/blocks/production/alloysmelter.png and b/core/assets-raw/sprites/blocks/production/alloysmelter.png differ diff --git a/core/assets-raw/sprites/blocks/production/itemvoid.png b/core/assets-raw/sprites/blocks/production/itemvoid.png new file mode 100644 index 0000000000..51b216a3ed Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/itemvoid.png differ diff --git a/core/assets-raw/sprites/blocks/production/melter.png b/core/assets-raw/sprites/blocks/production/melter.png new file mode 100644 index 0000000000..96ccaccdcf Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/melter.png differ diff --git a/core/assets-raw/sprites/blocks/production/poweralloysmelter-top.png b/core/assets-raw/sprites/blocks/production/poweralloysmelter-top.png new file mode 100644 index 0000000000..e3da203391 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/poweralloysmelter-top.png differ diff --git a/core/assets-raw/sprites/blocks/production/poweralloysmelter.png b/core/assets-raw/sprites/blocks/production/poweralloysmelter.png new file mode 100644 index 0000000000..53a79355c0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/poweralloysmelter.png differ diff --git a/core/assets-raw/sprites/blocks/production/powersmelter.png b/core/assets-raw/sprites/blocks/production/powersmelter.png index cd09e7f564..cbb6931a01 100644 Binary files a/core/assets-raw/sprites/blocks/production/powersmelter.png and b/core/assets-raw/sprites/blocks/production/powersmelter.png differ diff --git a/core/assets-raw/sprites/blocks/production/pulverizer.png b/core/assets-raw/sprites/blocks/production/pulverizer.png index 68005ee7b4..a2b061a198 100644 Binary files a/core/assets-raw/sprites/blocks/production/pulverizer.png and b/core/assets-raw/sprites/blocks/production/pulverizer.png differ diff --git a/core/assets-raw/sprites/blocks/production/stoneformer.png b/core/assets-raw/sprites/blocks/production/stoneformer.png index baeedc7505..215f3861e2 100644 Binary files a/core/assets-raw/sprites/blocks/production/stoneformer.png and b/core/assets-raw/sprites/blocks/production/stoneformer.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index b890a9c71f..89b33e5a9f 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,42 +13,42 @@ background index: -1 conduit-bottom rotate: false - xy: 642, 286 + xy: 654, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 652, 299 + xy: 662, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduittunnel rotate: false - xy: 652, 289 + xy: 664, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 652, 279 + xy: 664, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyormove rotate: false - xy: 662, 299 + xy: 750, 406 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyortunnel rotate: false - xy: 662, 289 + xy: 750, 396 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -62,42 +62,42 @@ core index: -1 junction rotate: false - xy: 860, 391 + xy: 840, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 770, 381 + xy: 945, 465 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 780, 381 + xy: 945, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 790, 381 + xy: 955, 465 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 800, 381 + xy: 945, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 810, 381 + xy: 955, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -132,70 +132,70 @@ multiplexer index: -1 poweredconveyor rotate: false - xy: 870, 381 + xy: 985, 465 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyormove rotate: false - xy: 880, 383 + xy: 975, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-bottom rotate: false - xy: 609, 236 + xy: 927, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 619, 236 + xy: 937, 435 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 650, 266 + xy: 957, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 947, 435 + xy: 929, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 957, 435 + xy: 939, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 967, 435 + xy: 949, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 977, 435 + xy: 959, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 987, 435 + xy: 969, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -209,7 +209,7 @@ teleporter-top index: -1 unloader rotate: false - xy: 919, 423 + xy: 181, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -223,70 +223,70 @@ vault index: -1 vault-icon rotate: false - xy: 920, 403 + xy: 201, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weaponfactory rotate: false - xy: 572, 272 + xy: 590, 274 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blackrock1 rotate: false - xy: 681, 341 + xy: 582, 244 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackrockshadow1 rotate: false - xy: 681, 331 + xy: 686, 363 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone1 rotate: false - xy: 691, 351 + xy: 669, 327 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone2 rotate: false - xy: 691, 341 + xy: 627, 306 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone3 rotate: false - xy: 691, 331 + xy: 637, 306 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock1 rotate: false - xy: 627, 306 + xy: 419, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock2 rotate: false - xy: 637, 306 + xy: 889, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock3 rotate: false - xy: 419, 125 + xy: 419, 159 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -300,49 +300,49 @@ blackstoneedge index: -1 coal1 rotate: false - xy: 449, 160 + xy: 632, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 459, 160 + xy: 624, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 622, 296 + xy: 624, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 590, 266 + xy: 750, 376 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 600, 266 + xy: 760, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 610, 266 + xy: 760, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 620, 266 + xy: 770, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -356,35 +356,35 @@ dirtedge index: -1 grass1 rotate: false - xy: 604, 246 + xy: 790, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass2 rotate: false - xy: 618, 256 + xy: 800, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 614, 246 + xy: 790, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock1 rotate: false - xy: 628, 256 + xy: 800, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock2 rotate: false - xy: 624, 246 + xy: 810, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -398,406 +398,406 @@ grassedge index: -1 ice1 rotate: false - xy: 638, 256 + xy: 800, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice2 rotate: false - xy: 634, 246 + xy: 810, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 750, 406 + xy: 820, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iceedge rotate: false - xy: 734, 380 + xy: 321, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 icerock1 rotate: false - xy: 750, 396 + xy: 810, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 760, 401 + xy: 820, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 770, 401 + xy: 830, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 770, 401 + xy: 830, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 780, 401 + xy: 820, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 780, 401 + xy: 820, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron1 rotate: false - xy: 790, 401 + xy: 830, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron2 rotate: false - xy: 800, 401 + xy: 840, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron3 rotate: false - xy: 810, 401 + xy: 830, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 750, 386 + xy: 850, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavaedge rotate: false - xy: 321, 121 + xy: 335, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 lead1 rotate: false - xy: 870, 391 + xy: 870, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead2 rotate: false - xy: 880, 403 + xy: 870, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 880, 393 + xy: 870, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mossblock rotate: false - xy: 820, 381 + xy: 955, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 830, 381 + xy: 965, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oiledge rotate: false - xy: 335, 121 + xy: 349, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 rock1 rotate: false - xy: 644, 246 + xy: 947, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock2 rotate: false - xy: 648, 256 + xy: 957, 435 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 658, 256 + xy: 977, 435 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 660, 266 + xy: 977, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 659, 236 + xy: 987, 435 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock1 rotate: false - xy: 664, 246 + xy: 987, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock2 rotate: false - xy: 668, 256 + xy: 148, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock3 rotate: false - xy: 669, 236 + xy: 158, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandedge rotate: false - xy: 349, 121 + xy: 363, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shrub rotate: false - xy: 965, 465 + xy: 419, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 955, 445 + xy: 899, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 975, 455 + xy: 939, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 985, 465 + xy: 949, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 975, 445 + xy: 959, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock1 rotate: false - xy: 985, 455 + xy: 969, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock2 rotate: false - xy: 985, 445 + xy: 979, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock3 rotate: false - xy: 927, 435 + xy: 989, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowedge rotate: false - xy: 405, 121 + xy: 885, 433 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 stone1 rotate: false - xy: 158, 54 + xy: 989, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 168, 54 + xy: 691, 353 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 178, 54 + xy: 691, 343 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock1 rotate: false - xy: 188, 54 + xy: 691, 333 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 198, 54 + xy: 654, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 208, 54 + xy: 664, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneedge rotate: false - xy: 913, 433 + xy: 875, 413 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 889, 413 + xy: 160, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 899, 423 + xy: 180, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 899, 413 + xy: 170, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 909, 423 + xy: 180, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 890, 393 + xy: 200, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 909, 413 + xy: 190, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 929, 425 + xy: 492, 168 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 wateredge rotate: false - xy: 875, 413 + xy: 889, 419 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 block-middle rotate: false - xy: 689, 311 + xy: 459, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 689, 311 + xy: 459, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 642, 276 + xy: 654, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 662, 279 + xy: 750, 386 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -818,35 +818,35 @@ cross-3 index: -1 enemyspawn rotate: false - xy: 598, 256 + xy: 780, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 860, 381 + xy: 975, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ripples rotate: false - xy: 669, 337 + xy: 592, 246 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shadow rotate: false - xy: 669, 325 + xy: 674, 361 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 battery rotate: false - xy: 933, 469 + xy: 572, 244 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -860,21 +860,21 @@ batterylarge index: -1 coalgenerator rotate: false - xy: 622, 276 + xy: 642, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coalgenerator-top rotate: false - xy: 632, 286 + xy: 644, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustiongenerator rotate: false - xy: 632, 276 + xy: 644, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -909,56 +909,56 @@ nuclearreactor-lights index: -1 powerinfinite rotate: false - xy: 579, 234 + xy: 985, 455 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernode rotate: false - xy: 589, 236 + xy: 985, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powervoid rotate: false - xy: 599, 236 + xy: 927, 435 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator rotate: false - xy: 649, 236 + xy: 967, 435 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator-top rotate: false - xy: 654, 246 + xy: 967, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldgenerator rotate: false - xy: 945, 465 + xy: 188, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldprojector rotate: false - xy: 680, 389 + xy: 698, 391 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 solarpanel rotate: false - xy: 937, 435 + xy: 681, 331 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -972,7 +972,7 @@ teleporter index: -1 thermalgenerator rotate: false - xy: 889, 423 + xy: 170, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1000,14 +1000,14 @@ centrifuge index: -1 coaldrill rotate: false - xy: 622, 286 + xy: 634, 286 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coalextractor rotate: false - xy: 632, 296 + xy: 634, 276 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1042,28 +1042,35 @@ cultivator index: -1 extractor rotate: false - xy: 594, 246 + xy: 790, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fluxpump rotate: false - xy: 608, 256 + xy: 780, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill rotate: false - xy: 820, 401 + xy: 840, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 850, 391 + xy: 820, 371 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +itemvoid + rotate: false + xy: 830, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1077,14 +1084,21 @@ laserdrill index: -1 lavasmelter rotate: false - xy: 870, 401 + xy: 860, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 leaddrill rotate: false - xy: 760, 381 + xy: 870, 371 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +melter + rotate: false + xy: 965, 465 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1105,14 +1119,14 @@ oilextractor-liquid index: -1 oilrefinery rotate: false - xy: 840, 381 + xy: 975, 465 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 omnidrill rotate: false - xy: 850, 381 + xy: 965, 445 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1124,121 +1138,135 @@ plasticformer orig: 16, 16 offset: 0, 0 index: -1 -powersmelter +poweralloysmelter rotate: false xy: 853, 427 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -pulverizer - rotate: false - xy: 629, 236 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -pump - rotate: false - xy: 639, 236 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -quartzextractor +poweralloysmelter-top rotate: false xy: 680, 407 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 +powersmelter + rotate: false + xy: 680, 389 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +pulverizer + rotate: false + xy: 937, 425 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +pump + rotate: false + xy: 947, 435 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +quartzextractor + rotate: false + xy: 698, 409 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 separator rotate: false - xy: 674, 246 + xy: 168, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 965, 455 + xy: 909, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter rotate: false - xy: 975, 465 + xy: 919, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter-middle rotate: false - xy: 965, 445 + xy: 929, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonedrill rotate: false - xy: 218, 54 + xy: 150, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 305, 105 + xy: 150, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thoriumdrill rotate: false - xy: 890, 403 + xy: 190, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill rotate: false - xy: 900, 403 + xy: 210, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumextractor rotate: false - xy: 890, 383 + xy: 200, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 uraniumextractor rotate: false - xy: 919, 413 + xy: 191, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 waterextractor rotate: false - xy: 716, 404 + xy: 572, 272 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-liquid rotate: false - xy: 716, 386 + xy: 572, 254 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-1 rotate: false - xy: 679, 311 + xy: 449, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1280,7 +1308,7 @@ chainturret index: -1 doubleturret rotate: false - xy: 588, 256 + xy: 780, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1315,7 +1343,7 @@ gatlingturret index: -1 laserturret rotate: false - xy: 305, 115 + xy: 293, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1343,28 +1371,28 @@ missileturret index: -1 railgunturret rotate: false - xy: 674, 361 + xy: 305, 115 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 repairturret rotate: false - xy: 669, 349 + xy: 579, 232 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 shotgunturret rotate: false - xy: 667, 313 + xy: 669, 349 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 teslaturret rotate: false - xy: 686, 361 + xy: 669, 337 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1420,14 +1448,14 @@ walkerfactory-top-open index: -1 compositewall rotate: false - xy: 642, 296 + xy: 652, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 630, 266 + xy: 760, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1448,14 +1476,14 @@ door-large-open index: -1 door-open rotate: false - xy: 640, 266 + xy: 770, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall rotate: false - xy: 584, 246 + xy: 770, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1469,49 +1497,49 @@ duriumwall-large index: -1 ironwall rotate: false - xy: 830, 401 + xy: 850, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 148, 54 + xy: 979, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall-large rotate: false - xy: 698, 409 + xy: 716, 404 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 stonewall rotate: false - xy: 419, 115 + xy: 160, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumshieldwall rotate: false - xy: 900, 393 + xy: 210, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall rotate: false - xy: 900, 383 + xy: 220, 44 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall-large rotate: false - xy: 698, 391 + xy: 716, 386 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1525,7 +1553,7 @@ blank index: -1 bullet rotate: false - xy: 419, 159 + xy: 681, 351 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1567,42 +1595,42 @@ laserfull index: -1 shell rotate: false - xy: 679, 236 + xy: 178, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot rotate: false - xy: 945, 445 + xy: 218, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot-long rotate: false - xy: 955, 455 + xy: 305, 105 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanshell rotate: false - xy: 910, 403 + xy: 220, 34 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 840, 401 + xy: 840, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 850, 401 + xy: 850, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1616,77 +1644,77 @@ item-densealloy index: -1 item-iron rotate: false - xy: 760, 391 + xy: 850, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 770, 391 + xy: 860, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plastic rotate: false - xy: 780, 391 + xy: 860, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-quartz rotate: false - xy: 790, 391 + xy: 760, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 800, 391 + xy: 770, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-steel rotate: false - xy: 810, 391 + xy: 780, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 820, 391 + xy: 790, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 830, 391 + xy: 800, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 840, 391 + xy: 810, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 standard-mech rotate: false - xy: 885, 433 + xy: 899, 433 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-ship rotate: false - xy: 899, 433 + xy: 913, 433 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -1834,7 +1862,7 @@ clear index: -1 cursor rotate: false - xy: 674, 373 + xy: 883, 427 size: 4, 4 orig: 4, 4 offset: 0, 0 @@ -1897,7 +1925,7 @@ icon-areaDelete index: -1 icon-arrow rotate: false - xy: 572, 256 + xy: 590, 258 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -1918,14 +1946,14 @@ icon-arrow-left index: -1 icon-arrow-right rotate: false - xy: 572, 244 + xy: 871, 427 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-up rotate: false - xy: 871, 427 + xy: 903, 421 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1939,28 +1967,28 @@ icon-back index: -1 icon-ban rotate: false - xy: 590, 276 + xy: 608, 276 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-cancel rotate: false - xy: 606, 276 + xy: 763, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-chat rotate: false - xy: 502, 195 + xy: 915, 421 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-check rotate: false - xy: 763, 411 + xy: 779, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -1988,77 +2016,77 @@ icon-close-over index: -1 icon-crafting rotate: false - xy: 514, 195 + xy: 502, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-cursor rotate: false - xy: 526, 195 + xy: 514, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 538, 195 + xy: 526, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-dev-builds rotate: false - xy: 779, 411 + xy: 795, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-discord rotate: false - xy: 795, 411 + xy: 811, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-distribution rotate: false - xy: 550, 195 + xy: 538, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-donate rotate: false - xy: 811, 411 + xy: 827, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-dots rotate: false - xy: 827, 411 + xy: 843, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-editor rotate: false - xy: 843, 411 + xy: 859, 411 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-exit rotate: false - xy: 859, 411 + xy: 680, 373 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-file-text rotate: false - xy: 680, 373 + xy: 225, 123 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2072,35 +2100,35 @@ icon-fill index: -1 icon-floppy rotate: false - xy: 225, 123 + xy: 241, 123 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 241, 123 + xy: 257, 123 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 257, 123 + xy: 273, 123 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-github rotate: false - xy: 273, 123 + xy: 289, 123 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 289, 123 + xy: 305, 127 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2114,42 +2142,42 @@ icon-grid index: -1 icon-hold rotate: false - xy: 562, 195 + xy: 550, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-holdDelete rotate: false - xy: 933, 457 + xy: 562, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-home rotate: false - xy: 305, 127 + xy: 651, 309 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-host rotate: false - xy: 651, 309 + xy: 734, 394 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-info rotate: false - xy: 933, 445 + xy: 933, 457 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 734, 394 + xy: 329, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2163,21 +2191,21 @@ icon-line index: -1 icon-link rotate: false - xy: 329, 135 + xy: 345, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 136, 53 + xy: 933, 445 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-load rotate: false - xy: 345, 135 + xy: 361, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2205,14 +2233,14 @@ icon-loading index: -1 icon-logic rotate: false - xy: 154, 64 + xy: 136, 53 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 166, 64 + xy: 154, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2226,14 +2254,14 @@ icon-menu-large index: -1 icon-none rotate: false - xy: 178, 64 + xy: 166, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 190, 64 + xy: 178, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2247,7 +2275,7 @@ icon-pencil index: -1 icon-pencil-small rotate: false - xy: 361, 135 + xy: 377, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2261,42 +2289,42 @@ icon-pick index: -1 icon-play rotate: false - xy: 202, 64 + xy: 190, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 377, 135 + xy: 393, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-players rotate: false - xy: 214, 64 + xy: 202, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 574, 195 + xy: 214, 64 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 233, 111 + xy: 574, 195 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 393, 135 + xy: 409, 135 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2310,14 +2338,14 @@ icon-redo index: -1 icon-refresh rotate: false - xy: 409, 135 + xy: 476, 162 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 476, 162 + xy: 885, 463 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2331,35 +2359,35 @@ icon-resize index: -1 icon-rotate rotate: false - xy: 885, 463 + xy: 901, 463 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 901, 463 + xy: 917, 463 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 917, 463 + xy: 885, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 885, 447 + xy: 901, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save rotate: false - xy: 901, 447 + xy: 917, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2380,7 +2408,7 @@ icon-save-map index: -1 icon-settings rotate: false - xy: 245, 111 + xy: 233, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2394,28 +2422,28 @@ icon-terrain index: -1 icon-tools rotate: false - xy: 917, 447 + xy: 118, 31 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-touch rotate: false - xy: 257, 111 + xy: 245, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 269, 111 + xy: 257, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 118, 31 + xy: 113, 15 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2429,14 +2457,14 @@ icon-trash-16 index: -1 icon-trello rotate: false - xy: 113, 15 + xy: 129, 15 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 129, 15 + xy: 134, 31 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2450,21 +2478,21 @@ icon-undo index: -1 icon-units rotate: false - xy: 281, 111 + xy: 269, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 293, 111 + xy: 281, 111 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 134, 31 + xy: 145, 15 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2478,7 +2506,7 @@ icon-zoom index: -1 icon-zoom-small rotate: false - xy: 145, 15 + xy: 734, 378 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2584,7 +2612,7 @@ slider-knob-over index: -1 slider-vertical rotate: false - xy: 652, 276 + xy: 1, 5 size: 8, 1 orig: 8, 1 offset: 0, 0 @@ -2658,119 +2686,119 @@ flier index: -1 scout rotate: false - xy: 363, 121 + xy: 377, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-base rotate: false - xy: 377, 121 + xy: 391, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-base rotate: false - xy: 377, 121 + xy: 391, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-leg rotate: false - xy: 391, 121 + xy: 405, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-leg rotate: false - xy: 391, 121 + xy: 405, 121 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 beam rotate: false - xy: 223, 113 + xy: 933, 469 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 beam-equip rotate: false - xy: 681, 351 + xy: 223, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster rotate: false - xy: 681, 321 + xy: 429, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 691, 321 + xy: 439, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun rotate: false - xy: 429, 160 + xy: 681, 341 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 439, 160 + xy: 622, 296 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun rotate: false - xy: 945, 455 + xy: 198, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 955, 465 + xy: 208, 54 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 910, 393 + xy: 161, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 910, 383 + xy: 171, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 920, 393 + xy: 211, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 920, 383 + xy: 221, 24 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 714c56e5f4..ee4d36a3fe 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/assets/version.properties b/core/assets/version.properties index b6b638ed08..b4cb1649c6 100644 --- a/core/assets/version.properties +++ b/core/assets/version.properties @@ -1,7 +1,7 @@ #Autogenerated file. Do not modify. -#Mon Mar 26 22:36:42 EDT 2018 +#Tue Mar 27 20:10:08 EDT 2018 version=release -androidBuildCode=669 +androidBuildCode=678 name=Mindustry code=3.4 build=custom build diff --git a/core/src/io/anuke/mindustry/content/Recipes.java b/core/src/io/anuke/mindustry/content/Recipes.java index 4234f30aed..f9c9e751d2 100644 --- a/core/src/io/anuke/mindustry/content/Recipes.java +++ b/core/src/io/anuke/mindustry/content/Recipes.java @@ -56,7 +56,7 @@ public class Recipes { new Recipe(crafting, CraftingBlocks.smelter, stack(Items.iron, 40)), new Recipe(crafting, CraftingBlocks.alloysmelter, stack(Items.titanium, 50), stack(Items.steel, 50)), new Recipe(crafting, CraftingBlocks.powersmelter, stack(Items.steel, 30), stack(Items.iron, 30)), - new Recipe(crafting, CraftingBlocks.extractor, stack(Items.steel, 10), stack(Items.iron, 10)), + new Recipe(crafting, CraftingBlocks.poweralloysmelter, stack(Items.steel, 30), stack(Items.iron, 30)), new Recipe(crafting, CraftingBlocks.separator, stack(Items.steel, 30), stack(Items.iron, 30)), new Recipe(crafting, CraftingBlocks.centrifuge, stack(Items.steel, 30), stack(Items.iron, 30)), new Recipe(crafting, CraftingBlocks.oilRefinery, stack(Items.steel, 15), stack(Items.iron, 15)), @@ -64,6 +64,7 @@ public class Recipes { new Recipe(crafting, CraftingBlocks.stoneFormer, stack(Items.steel, 10), stack(Items.iron, 10)), new Recipe(crafting, CraftingBlocks.plasticFormer, stack(Items.steel, 30), stack(Items.titanium, 15)), new Recipe(crafting, CraftingBlocks.cryofluidmixer, stack(Items.steel, 30), stack(Items.titanium, 15)), + new Recipe(crafting, CraftingBlocks.melter, stack(Items.steel, 30), stack(Items.titanium, 15)), new Recipe(crafting, CraftingBlocks.weaponFactory, stack(Items.steel, 60), stack(Items.iron, 60)).setDesktop(), //new Recipe(production, ProductionBlocks.stonedrill, stack(Item.stone, 12)), @@ -110,6 +111,7 @@ public class Recipes { new Recipe(units, UnitBlocks.walkerFactory, stack(Items.steel, 10)), new Recipe(units, DebugBlocks.itemSource, stack(Items.steel, 10)).setDebug(), + new Recipe(units, DebugBlocks.itemVoid, stack(Items.steel, 10)).setDebug(), new Recipe(units, DebugBlocks.powerVoid, stack(Items.steel, 10)).setDebug(), new Recipe(units, DebugBlocks.powerInfinite, stack(Items.steel, 10), stack(Items.densealloy, 5)).setDebug() ); diff --git a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java index 685b1a5a3a..ab0ef34766 100644 --- a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java @@ -28,15 +28,27 @@ public class CraftingBlocks { craftTime = 25f; }}, - powersmelter = new PowerSmelter("powersmelter") {{ + poweralloysmelter = new PowerSmelter("poweralloysmelter") {{ health = 90; + craftEffect = Fx.smeltsmoke; inputs = new ItemStack[]{new ItemStack(Items.titanium, 4), new ItemStack(Items.thorium, 4)}; result = Items.densealloy; + powerUse = 0.3f; burnDuration = 45f; craftTime = 25f; size = 2; }}, + powersmelter = new PowerSmelter("powersmelter") {{ + health = 90; + inputs = new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.iron, 1)}; + result = Items.densealloy; + burnDuration = 45f; + powerUse = 0.1f; + craftTime = 25f; + size = 2; + }}, + cryofluidmixer = new LiquidMixer("cryofluidmixer") {{ health = 200; inputLiquid = Liquids.water; @@ -48,23 +60,22 @@ public class CraftingBlocks { size = 2; }}, - //TODO implement melter - melter = new LiquidMixer("melter") {{ + melter = new PowerCrafter("melter") {{ health = 200; - inputLiquid = Liquids.water; - outputLiquid = Liquids.cryofluid; - inputItem = Items.titanium; - liquidPerItem = 50f; + outputLiquid = Liquids.lava; + outputLiquidAmount = 0.05f; + input = new ItemStack(Items.stone, 1); itemCapacity = 50; + craftTime = 10f; powerUse = 0.1f; - size = 2; + hasLiquids = hasPower = true; }}, separator = new Separator("separator") {{ liquid = Liquids.water; item = Items.stone; results = new Item[]{ - null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.stone, Items.iron, Items.iron, Items.iron, Items.iron, Items.lead, Items.lead, @@ -79,16 +90,6 @@ public class CraftingBlocks { health = 50; }}, - extractor = new GenericCrafter("extractor") {{ - inputItem = new ItemStack(Items.stone, 6); - inputLiquid = Liquids.water; - liquidUse = 0.1f; - output = Items.coal; - health = 50; - craftTime = 50; - hasInventory = hasLiquids = true; - }}, - centrifuge = new GenericCrafter("centrifuge") {{ inputItem = new ItemStack(Items.stone, 6); inputLiquid = Liquids.water; diff --git a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java index 4fe78f2cec..fd5400a0bb 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java @@ -40,5 +40,19 @@ public class DebugBlocks { public boolean acceptItem(Item item, Tile tile, Tile source){ return false; } + }, + + itemVoid = new Block("itemvoid"){ + { + update = solid = true; + } + + @Override + public void handleItem(Item item, Tile tile, Tile source) {} + + @Override + public boolean acceptItem(Item item, Tile tile, Tile source){ + return true; + } }; } diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 6227251563..76d7f24c96 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -23,7 +23,7 @@ import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.input.PlaceMode; import io.anuke.mindustry.ui.fragments.ToolFragment; import io.anuke.mindustry.world.BlockBar; -import io.anuke.mindustry.world.Layer; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.ucore.core.*; diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index 26c4497483..6b5322f052 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -7,7 +7,6 @@ import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.utils.Array; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Block; -import io.anuke.mindustry.world.Layer; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.world.blocks.types.StaticBlock; @@ -125,7 +124,7 @@ public class BlockRenderer{ for(; iterateidx < requestidx; iterateidx ++){ - if(iterateidx < requests.size - 1 && requests.get(iterateidx).layer.ordinal() > stopAt.ordinal()){ + if(iterateidx < requests.size && requests.get(iterateidx).layer.ordinal() > stopAt.ordinal()){ break; } @@ -143,15 +142,15 @@ public class BlockRenderer{ } public void drawTeamBlocks(Layer layer, Team team){ - int iterateidx = this.iterateidx; + int index = this.iterateidx; - for(; iterateidx < requestidx; iterateidx ++){ + for(; index < requestidx; index ++){ - if(iterateidx < requests.size - 1 && requests.get(iterateidx).layer.ordinal() > layer.ordinal()){ + if(index < requests.size && requests.get(index).layer.ordinal() > layer.ordinal()){ break; } - BlockRequest req = requests.get(iterateidx); + BlockRequest req = requests.get(index); if(req.tile.getTeam() != team) continue; Block block = req.tile.block(); @@ -166,7 +165,7 @@ public class BlockRenderer{ public void skipLayer(Layer stopAt){ for(; iterateidx < requestidx; iterateidx ++){ - if(iterateidx < requests.size - 1 && requests.get(iterateidx).layer.ordinal() > stopAt.ordinal()){ + if(iterateidx < requests.size && requests.get(iterateidx).layer.ordinal() > stopAt.ordinal()){ break; } } diff --git a/core/src/io/anuke/mindustry/graphics/Fx.java b/core/src/io/anuke/mindustry/graphics/Fx.java index 74935a7f03..0e48b79760 100644 --- a/core/src/io/anuke/mindustry/graphics/Fx.java +++ b/core/src/io/anuke/mindustry/graphics/Fx.java @@ -211,6 +211,14 @@ public class Fx{ Draw.reset(); }); }), + + smeltsmoke = new Effect(15, e -> { + Angles.randLenVectors(e.id, 6, 4f + e.ifract()*5f, (x, y)->{ + Draw.color(Color.WHITE, Color.valueOf("ffc999"), e.ifract()); + Fill.poly(e.x + x, e.y + y, 4, 0.5f+e.fract()*2f, 45); + Draw.reset(); + }); + }), blastsmoke = new Effect(26, e -> { Angles.randLenVectors(e.id, 12, 1f + e.ifract()*23f, (x, y)->{ diff --git a/core/src/io/anuke/mindustry/world/Layer.java b/core/src/io/anuke/mindustry/graphics/Layer.java similarity index 86% rename from core/src/io/anuke/mindustry/world/Layer.java rename to core/src/io/anuke/mindustry/graphics/Layer.java index 400294f88a..d4ef0ef4a3 100644 --- a/core/src/io/anuke/mindustry/world/Layer.java +++ b/core/src/io/anuke/mindustry/graphics/Layer.java @@ -1,4 +1,4 @@ -package io.anuke.mindustry.world; +package io.anuke.mindustry.graphics; public enum Layer{ /**Base block layer.*/ diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index a4c8bd2fd1..e41c9f836d 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -9,6 +9,7 @@ import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.graphics.DrawLayer; import io.anuke.mindustry.graphics.Fx; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetEvents; import io.anuke.mindustry.resource.ItemStack; @@ -85,7 +86,7 @@ public class Block extends BaseBlock { /**Draw layer. Only used for 'cached' rendering.*/ public DrawLayer drawLayer = DrawLayer.normal; /**Layer to draw extra stuff on.*/ - public Layer layer = null; + public io.anuke.mindustry.graphics.Layer layer = null; /**Extra layer to draw extra extra stuff on.*/ public Layer layer2 = null; /**whether this block can be replaced in all cases*/ diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java index ecc81a3142..fbaee4920b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/LaserTurret.java @@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.math.MathUtils; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.graphics.Fx; -import io.anuke.mindustry.world.Layer; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects.Effect; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java index b0f856a02d..79f55a2f81 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.types.defense; import com.badlogic.gdx.math.MathUtils; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Units; -import io.anuke.mindustry.world.Layer; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java index a4349fc4e7..19b9bf53ac 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java @@ -3,6 +3,7 @@ package io.anuke.mindustry.world.blocks.types.defense; import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.entities.*; import io.anuke.mindustry.graphics.Fx; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.*; import io.anuke.ucore.core.Effects; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java index c75594458d..423bf2f80c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/Conveyor.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.BlockGroup; -import io.anuke.mindustry.world.Layer; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/power/PowerDistributor.java b/core/src/io/anuke/mindustry/world/blocks/types/power/PowerDistributor.java index 401c41200d..c139eeeb35 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/power/PowerDistributor.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/power/PowerDistributor.java @@ -5,7 +5,7 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.IntArray; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Edges; -import io.anuke.mindustry.world.Layer; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.PowerBlock; import io.anuke.ucore.core.Settings; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java index 72c0ee15f2..f5b16ad12e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.graphics.Fx; import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.BlockGroup; -import io.anuke.mindustry.world.Layer; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects.Effect; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/GenericCrafter.java b/core/src/io/anuke/mindustry/world/blocks/types/production/GenericCrafter.java index 39b58e3d24..d386676c9b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/GenericCrafter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/GenericCrafter.java @@ -58,7 +58,7 @@ public class GenericCrafter extends Block{ public void draw(Tile tile){ Draw.rect(name(), tile.drawx(), tile.drawy()); - if(tile.entity.liquid.liquid == null) return; + if(!hasLiquids) return; Draw.color(tile.entity.liquid.liquid.color); Draw.alpha(tile.entity.liquid.amount / liquidCapacity); @@ -81,11 +81,11 @@ public class GenericCrafter extends Block{ if((!hasLiquids || liquidUsed > entity.liquid.amount) && (!hasPower || powerUsed > entity.power.amount) && - (!hasInventory || entity.inventory.hasItem(inputItem.item, itemsUsed))){ + (inputItem == null || entity.inventory.hasItem(inputItem.item, itemsUsed))){ entity.progress += 1f / craftTime * Timers.delta(); - entity.power.amount -= powerUsed; - entity.liquid.amount -= liquidUsed; + if(hasPower) entity.power.amount -= powerUsed; + if(hasLiquids) entity.liquid.amount -= liquidUsed; } if(entity.progress >= 1f){ diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/PowerCrafter.java b/core/src/io/anuke/mindustry/world/blocks/types/production/PowerCrafter.java index 8f5bde0a4d..8e8a904535 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/PowerCrafter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/PowerCrafter.java @@ -13,6 +13,7 @@ import io.anuke.ucore.util.Mathf; public class PowerCrafter extends Block{ protected final int timerDump = timers++; + /**Required.*/ protected ItemStack input; /**Optional.*/ protected Item outputItem; @@ -26,6 +27,7 @@ public class PowerCrafter extends Block{ super(name); solid = true; update = true; + hasPower = true; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java b/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java index 1bd8362c14..efaecca4cb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/PowerSmelter.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.world.blocks.types.production; +import com.badlogic.gdx.graphics.Color; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.graphics.Fx; import io.anuke.mindustry.resource.Item; @@ -12,6 +13,8 @@ import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects.Effect; import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; +import io.anuke.ucore.graphics.Fill; +import io.anuke.ucore.util.Log; import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Strings; @@ -24,7 +27,7 @@ public class PowerSmelter extends PowerBlock { * Everything else in each array: requirements. Can have duplicates.*/ protected ItemStack[] inputs; protected Item result; - protected float powerDrain = 0.01f; + protected float powerUse; protected float heatUpTime = 80f; protected float minHeat = 0.5f; @@ -32,7 +35,8 @@ public class PowerSmelter extends PowerBlock { protected float craftTime = 20f; //time to craft one item, so max 3 items per second by default protected float burnDuration = 50f; //by default, the fuel will burn 45 frames, so that's 2.5 items/fuel at most protected float burnEffectChance = 0.01f; - protected Effect craftEffect = Fx.smelt, burnEffect = Fx.fuelburn; + protected Effect craftEffect = Fx.smelt, + burnEffect = Fx.fuelburn; protected int capacity = 20; @@ -57,7 +61,7 @@ public class PowerSmelter extends PowerBlock { super.setStats(); //TODO input/outputs // stats.add("input", Arrays.toString(inputs)); - stats.add("powersecond", Strings.toFixed(powerDrain*60f, 2)); + stats.add("powersecond", Strings.toFixed(powerUse *60f, 2)); //stats.add("output", result); stats.add("fuelduration", Strings.toFixed(burnDuration/60f, 1)); stats.add("maxoutputsecond", Strings.toFixed(60f/craftTime, 1)); @@ -74,15 +78,16 @@ public class PowerSmelter extends PowerBlock { tryDump(tile, result); } - float used = powerDrain * Timers.delta(); + float used = powerUse * Timers.delta(); //heat it up if there's enough power if(entity.power.amount > used){ entity.power.amount -= used; - entity.heat += 1f /heatUpTime; - if(Mathf.chance(Timers.delta() * burnEffectChance)) Effects.effect(burnEffect, entity.x + Mathf.range(2f), entity.y + Mathf.range(2f)); + entity.heat += 1f / heatUpTime; + if(Mathf.chance(Timers.delta() * burnEffectChance)) + Effects.effect(burnEffect, entity.x + Mathf.range(size*4f), entity.y + Mathf.range(size*4)); }else{ - entity.heat -= 1f /heatUpTime; + entity.heat -= 1f / heatUpTime; } entity.heat = Mathf.clamp(entity.heat); @@ -126,10 +131,22 @@ public class PowerSmelter extends PowerBlock { PowerSmelterEntity entity = tile.entity(); + Log.info(entity.heat + ""); + //draw glowing center if(entity.heat > 0f){ - Draw.color(1f, 1f, 1f, Mathf.absin(Timers.time(), 9f, 0.4f) + Mathf.random(0.05f)); - Draw.rect("smelter-middle", tile.drawx(), tile.drawy()); + float g = 0.3f; + float r = 0.06f; + float cr = Mathf.random(0.1f); + + Draw.alpha(((1f-g) + Mathf.absin(Timers.time(), 9f, g) + Mathf.random(r) - r) * entity.heat); + + Draw.tint(Color.valueOf("ffc999")); + Fill.circle(tile.drawx(), tile.drawy(), 3f + Mathf.absin(Timers.time(), 6f, 2f) + cr); + Draw.color(1f, 1f, 1f, entity.heat); + Draw.rect(name + "-top", tile.drawx(), tile.drawy()); + Fill.circle(tile.drawx(), tile.drawy(), 2f + Mathf.absin(Timers.time(), 6f, 1f) + cr); + Draw.color(); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/Pump.java b/core/src/io/anuke/mindustry/world/blocks/types/production/Pump.java index 9c5d464e28..74c0f81c49 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/Pump.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/Pump.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.types.production; import com.badlogic.gdx.graphics.g2d.TextureRegion; import io.anuke.mindustry.resource.Liquid; import io.anuke.mindustry.world.BlockGroup; -import io.anuke.mindustry.world.Layer; +import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.LiquidBlock; import io.anuke.ucore.core.Timers;