diff --git a/build.gradle b/build.gradle index 79b4af7007..93b9eff2fa 100644 --- a/build.gradle +++ b/build.gradle @@ -27,7 +27,7 @@ allprojects { gdxVersion = '1.9.8' roboVMVersion = '2.3.0' aiVersion = '1.8.1' - uCoreVersion = '5b1e6a' + uCoreVersion = '405d949619' getVersionString = { String buildVersion = getBuildVersion() diff --git a/core/assets-raw/sprites/blocks/drills/nucleardrill-rim.png b/core/assets-raw/sprites/blocks/drills/blast-drill-rim.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/nucleardrill-rim.png rename to core/assets-raw/sprites/blocks/drills/blast-drill-rim.png diff --git a/core/assets-raw/sprites/blocks/drills/nucleardrill-rotator.png b/core/assets-raw/sprites/blocks/drills/blast-drill-rotator.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/nucleardrill-rotator.png rename to core/assets-raw/sprites/blocks/drills/blast-drill-rotator.png diff --git a/core/assets-raw/sprites/blocks/drills/nucleardrill-top.png b/core/assets-raw/sprites/blocks/drills/blast-drill-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/nucleardrill-top.png rename to core/assets-raw/sprites/blocks/drills/blast-drill-top.png diff --git a/core/assets-raw/sprites/blocks/drills/nucleardrill.png b/core/assets-raw/sprites/blocks/drills/blast-drill.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/nucleardrill.png rename to core/assets-raw/sprites/blocks/drills/blast-drill.png diff --git a/core/assets-raw/sprites/blocks/drills/steeldrill-rotator.png b/core/assets-raw/sprites/blocks/drills/carbide-drill-rotator.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/steeldrill-rotator.png rename to core/assets-raw/sprites/blocks/drills/carbide-drill-rotator.png diff --git a/core/assets-raw/sprites/blocks/drills/steeldrill-top.png b/core/assets-raw/sprites/blocks/drills/carbide-drill-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/steeldrill-top.png rename to core/assets-raw/sprites/blocks/drills/carbide-drill-top.png diff --git a/core/assets-raw/sprites/blocks/drills/steeldrill.png b/core/assets-raw/sprites/blocks/drills/carbide-drill.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/steeldrill.png rename to core/assets-raw/sprites/blocks/drills/carbide-drill.png diff --git a/core/assets-raw/sprites/blocks/drills/laserdrill-rotator.png b/core/assets-raw/sprites/blocks/drills/laser-drill-rotator.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/laserdrill-rotator.png rename to core/assets-raw/sprites/blocks/drills/laser-drill-rotator.png diff --git a/core/assets-raw/sprites/blocks/drills/laserdrill-top.png b/core/assets-raw/sprites/blocks/drills/laser-drill-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/laserdrill-top.png rename to core/assets-raw/sprites/blocks/drills/laser-drill-top.png diff --git a/core/assets-raw/sprites/blocks/drills/laserdrill.png b/core/assets-raw/sprites/blocks/drills/laser-drill.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/laserdrill.png rename to core/assets-raw/sprites/blocks/drills/laser-drill.png diff --git a/core/assets-raw/sprites/blocks/drills/oilextractor-liquid.png b/core/assets-raw/sprites/blocks/drills/oil-extractor-liquid.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/oilextractor-liquid.png rename to core/assets-raw/sprites/blocks/drills/oil-extractor-liquid.png diff --git a/core/assets-raw/sprites/blocks/drills/oilextractor-rotator.png b/core/assets-raw/sprites/blocks/drills/oil-extractor-rotator.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/oilextractor-rotator.png rename to core/assets-raw/sprites/blocks/drills/oil-extractor-rotator.png diff --git a/core/assets-raw/sprites/blocks/drills/oilextractor-top.png b/core/assets-raw/sprites/blocks/drills/oil-extractor-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/oilextractor-top.png rename to core/assets-raw/sprites/blocks/drills/oil-extractor-top.png diff --git a/core/assets-raw/sprites/blocks/drills/oilextractor.png b/core/assets-raw/sprites/blocks/drills/oil-extractor.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/oilextractor.png rename to core/assets-raw/sprites/blocks/drills/oil-extractor.png diff --git a/core/assets-raw/sprites/blocks/drills/plasmadrill-rim.png b/core/assets-raw/sprites/blocks/drills/plasma-drill-rim.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/plasmadrill-rim.png rename to core/assets-raw/sprites/blocks/drills/plasma-drill-rim.png diff --git a/core/assets-raw/sprites/blocks/drills/plasmadrill-rotator.png b/core/assets-raw/sprites/blocks/drills/plasma-drill-rotator.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/plasmadrill-rotator.png rename to core/assets-raw/sprites/blocks/drills/plasma-drill-rotator.png diff --git a/core/assets-raw/sprites/blocks/drills/plasmadrill-top.png b/core/assets-raw/sprites/blocks/drills/plasma-drill-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/plasmadrill-top.png rename to core/assets-raw/sprites/blocks/drills/plasma-drill-top.png diff --git a/core/assets-raw/sprites/blocks/drills/plasmadrill.png b/core/assets-raw/sprites/blocks/drills/plasma-drill.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/plasmadrill.png rename to core/assets-raw/sprites/blocks/drills/plasma-drill.png diff --git a/core/assets-raw/sprites/blocks/drills/reinforceddrill-rotator.png b/core/assets-raw/sprites/blocks/drills/reinforceddrill-rotator.png deleted file mode 100644 index d86cd46e1e..0000000000 Binary files a/core/assets-raw/sprites/blocks/drills/reinforceddrill-rotator.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/drills/reinforceddrill-top.png b/core/assets-raw/sprites/blocks/drills/reinforceddrill-top.png deleted file mode 100644 index e623952329..0000000000 Binary files a/core/assets-raw/sprites/blocks/drills/reinforceddrill-top.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/drills/reinforceddrill.png b/core/assets-raw/sprites/blocks/drills/reinforceddrill.png deleted file mode 100644 index b0f93ab55f..0000000000 Binary files a/core/assets-raw/sprites/blocks/drills/reinforceddrill.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/drills/titaniumdrill-rotator.png b/core/assets-raw/sprites/blocks/drills/titaniumdrill-rotator.png deleted file mode 100644 index f920d9ed60..0000000000 Binary files a/core/assets-raw/sprites/blocks/drills/titaniumdrill-rotator.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/drills/titaniumdrill-top.png b/core/assets-raw/sprites/blocks/drills/titaniumdrill-top.png deleted file mode 100644 index d8597f4ea8..0000000000 Binary files a/core/assets-raw/sprites/blocks/drills/titaniumdrill-top.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/drills/titaniumdrill.png b/core/assets-raw/sprites/blocks/drills/titaniumdrill.png deleted file mode 100644 index 3d40dae12c..0000000000 Binary files a/core/assets-raw/sprites/blocks/drills/titaniumdrill.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/drills/irondrill-rotator.png b/core/assets-raw/sprites/blocks/drills/tungsten-drill-rotator.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/irondrill-rotator.png rename to core/assets-raw/sprites/blocks/drills/tungsten-drill-rotator.png diff --git a/core/assets-raw/sprites/blocks/drills/irondrill-top.png b/core/assets-raw/sprites/blocks/drills/tungsten-drill-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/irondrill-top.png rename to core/assets-raw/sprites/blocks/drills/tungsten-drill-top.png diff --git a/core/assets-raw/sprites/blocks/drills/irondrill.png b/core/assets-raw/sprites/blocks/drills/tungsten-drill.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/irondrill.png rename to core/assets-raw/sprites/blocks/drills/tungsten-drill.png diff --git a/core/assets-raw/sprites/blocks/drills/waterextractor-liquid.png b/core/assets-raw/sprites/blocks/drills/water-extractor-liquid.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/waterextractor-liquid.png rename to core/assets-raw/sprites/blocks/drills/water-extractor-liquid.png diff --git a/core/assets-raw/sprites/blocks/drills/waterextractor-rotator.png b/core/assets-raw/sprites/blocks/drills/water-extractor-rotator.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/waterextractor-rotator.png rename to core/assets-raw/sprites/blocks/drills/water-extractor-rotator.png diff --git a/core/assets-raw/sprites/blocks/drills/waterextractor-top.png b/core/assets-raw/sprites/blocks/drills/water-extractor-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/waterextractor-top.png rename to core/assets-raw/sprites/blocks/drills/water-extractor-top.png diff --git a/core/assets-raw/sprites/blocks/drills/waterextractor.png b/core/assets-raw/sprites/blocks/drills/water-extractor.png similarity index 100% rename from core/assets-raw/sprites/blocks/drills/waterextractor.png rename to core/assets-raw/sprites/blocks/drills/water-extractor.png diff --git a/core/assets-raw/sprites/blocks/environment/blackstoneblock1.png b/core/assets-raw/sprites/blocks/environment/blackstoneblock1.png deleted file mode 100644 index ceac507a11..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/blackstoneblock1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/blackstoneblock2.png b/core/assets-raw/sprites/blocks/environment/blackstoneblock2.png deleted file mode 100644 index 0e804da468..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/blackstoneblock2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/blackstoneblock3.png b/core/assets-raw/sprites/blocks/environment/blackstoneblock3.png deleted file mode 100644 index ebe4fb638d..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/blackstoneblock3.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/grassblock1.png b/core/assets-raw/sprites/blocks/environment/grassblock1.png deleted file mode 100644 index cceb8b43d1..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/grassblock1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/grassblock2.png b/core/assets-raw/sprites/blocks/environment/grassblock2.png deleted file mode 100644 index a66ee2ab2b..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/grassblock2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/iron1.png b/core/assets-raw/sprites/blocks/environment/iron1.png deleted file mode 100644 index 7e8c332d80..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/iron1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/iron2.png b/core/assets-raw/sprites/blocks/environment/iron2.png deleted file mode 100644 index 97bcdf16b6..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/iron2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/iron3.png b/core/assets-raw/sprites/blocks/environment/iron3.png deleted file mode 100644 index 6110bcfd78..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/iron3.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/mossblock.png b/core/assets-raw/sprites/blocks/environment/mossblock.png deleted file mode 100644 index 194f078ee7..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/mossblock.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/sandblock1.png b/core/assets-raw/sprites/blocks/environment/sandblock1.png deleted file mode 100644 index 52b8edb4ba..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/sandblock1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/sandblock2.png b/core/assets-raw/sprites/blocks/environment/sandblock2.png deleted file mode 100644 index 646fdd4831..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/sandblock2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/sandblock3.png b/core/assets-raw/sprites/blocks/environment/sandblock3.png deleted file mode 100644 index ca0093a2e6..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/sandblock3.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/snowblock1.png b/core/assets-raw/sprites/blocks/environment/snowblock1.png deleted file mode 100644 index a3bb781fe6..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/snowblock1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/snowblock2.png b/core/assets-raw/sprites/blocks/environment/snowblock2.png deleted file mode 100644 index 508e42fe7e..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/snowblock2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/snowblock3.png b/core/assets-raw/sprites/blocks/environment/snowblock3.png deleted file mode 100644 index 93d1b071e2..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/snowblock3.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/stoneblock1.png b/core/assets-raw/sprites/blocks/environment/stoneblock1.png deleted file mode 100644 index 0783b4b26f..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/stoneblock1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/stoneblock2.png b/core/assets-raw/sprites/blocks/environment/stoneblock2.png deleted file mode 100644 index db2b3a59dd..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/stoneblock2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/stoneblock3.png b/core/assets-raw/sprites/blocks/environment/stoneblock3.png deleted file mode 100644 index 67fcf95616..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/stoneblock3.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/tungsten1.png b/core/assets-raw/sprites/blocks/environment/tungsten1.png new file mode 100644 index 0000000000..0dd0dbe685 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/tungsten1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/tungsten2.png b/core/assets-raw/sprites/blocks/environment/tungsten2.png new file mode 100644 index 0000000000..4928d57830 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/tungsten2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/tungsten3.png b/core/assets-raw/sprites/blocks/environment/tungsten3.png new file mode 100644 index 0000000000..03dab54d7b Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/tungsten3.png differ diff --git a/core/assets-raw/sprites/blocks/walls/carbide-wall-large.png b/core/assets-raw/sprites/blocks/walls/carbide-wall-large.png new file mode 100644 index 0000000000..0bfb7563ce Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/carbide-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/walls/carbide-wall.png b/core/assets-raw/sprites/blocks/walls/carbide-wall.png new file mode 100644 index 0000000000..ba7cabf436 Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/carbide-wall.png differ diff --git a/core/assets-raw/sprites/blocks/walls/duriumwall-large.png b/core/assets-raw/sprites/blocks/walls/duriumwall-large.png deleted file mode 100644 index 7aa89afbd9..0000000000 Binary files a/core/assets-raw/sprites/blocks/walls/duriumwall-large.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/walls/duriumwall.png b/core/assets-raw/sprites/blocks/walls/duriumwall.png deleted file mode 100644 index cdb08fd654..0000000000 Binary files a/core/assets-raw/sprites/blocks/walls/duriumwall.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/walls/steelwall-large.png b/core/assets-raw/sprites/blocks/walls/steelwall-large.png deleted file mode 100644 index 217e30ff5c..0000000000 Binary files a/core/assets-raw/sprites/blocks/walls/steelwall-large.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/walls/steelwall.png b/core/assets-raw/sprites/blocks/walls/steelwall.png deleted file mode 100644 index ab8652474a..0000000000 Binary files a/core/assets-raw/sprites/blocks/walls/steelwall.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/walls/stonewall.png b/core/assets-raw/sprites/blocks/walls/stonewall.png deleted file mode 100644 index 4bacdfdee2..0000000000 Binary files a/core/assets-raw/sprites/blocks/walls/stonewall.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/walls/thorium-wall-large.png b/core/assets-raw/sprites/blocks/walls/thorium-wall-large.png new file mode 100644 index 0000000000..ab909004d6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/thorium-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/walls/thorium-wall.png b/core/assets-raw/sprites/blocks/walls/thorium-wall.png new file mode 100644 index 0000000000..4a4e8d83c1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/thorium-wall.png differ diff --git a/core/assets-raw/sprites/blocks/walls/titaniumshieldwall.png b/core/assets-raw/sprites/blocks/walls/titaniumshieldwall.png deleted file mode 100644 index b33dfe5ff5..0000000000 Binary files a/core/assets-raw/sprites/blocks/walls/titaniumshieldwall.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/walls/titaniumwall-large.png b/core/assets-raw/sprites/blocks/walls/titaniumwall-large.png deleted file mode 100644 index 807fde31b1..0000000000 Binary files a/core/assets-raw/sprites/blocks/walls/titaniumwall-large.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/walls/titaniumwall.png b/core/assets-raw/sprites/blocks/walls/titaniumwall.png deleted file mode 100644 index 583c63e4a3..0000000000 Binary files a/core/assets-raw/sprites/blocks/walls/titaniumwall.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/walls/ironwall-large.png b/core/assets-raw/sprites/blocks/walls/tungsten-wall-large.png similarity index 100% rename from core/assets-raw/sprites/blocks/walls/ironwall-large.png rename to core/assets-raw/sprites/blocks/walls/tungsten-wall-large.png diff --git a/core/assets-raw/sprites/blocks/walls/ironwall.png b/core/assets-raw/sprites/blocks/walls/tungsten-wall.png similarity index 100% rename from core/assets-raw/sprites/blocks/walls/ironwall.png rename to core/assets-raw/sprites/blocks/walls/tungsten-wall.png diff --git a/core/assets-raw/sprites/items/ammo/item-armor-piercing-bullet.png b/core/assets-raw/sprites/items/ammo/item-armor-piercing-bullet.png deleted file mode 100644 index 182634b8f6..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-armor-piercing-bullet.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-composite-flak.png b/core/assets-raw/sprites/items/ammo/item-composite-flak.png deleted file mode 100644 index f0d47144aa..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-composite-flak.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-explosive-shell.png b/core/assets-raw/sprites/items/ammo/item-explosive-shell.png deleted file mode 100644 index a42f4928c8..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-explosive-shell.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-frag-shell.png b/core/assets-raw/sprites/items/ammo/item-frag-shell.png deleted file mode 100644 index 163d8dc368..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-frag-shell.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-homing-bullet.png b/core/assets-raw/sprites/items/ammo/item-homing-bullet.png deleted file mode 100644 index 344402d11b..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-homing-bullet.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-incendiary-mortar-shell.png b/core/assets-raw/sprites/items/ammo/item-incendiary-mortar-shell.png deleted file mode 100644 index 8ae3d955f2..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-incendiary-mortar-shell.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-lead-bullet.png b/core/assets-raw/sprites/items/ammo/item-lead-bullet.png deleted file mode 100644 index f971aaddcc..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-lead-bullet.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-scythe-missile.png b/core/assets-raw/sprites/items/ammo/item-scythe-missile.png deleted file mode 100644 index b207d6e751..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-scythe-missile.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-surge-mortar-shell.png b/core/assets-raw/sprites/items/ammo/item-surge-mortar-shell.png deleted file mode 100644 index 45faa9479a..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-surge-mortar-shell.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-swarm-missile.png b/core/assets-raw/sprites/items/ammo/item-swarm-missile.png deleted file mode 100644 index c54ff3d340..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-swarm-missile.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-thorium-shell.png b/core/assets-raw/sprites/items/ammo/item-thorium-shell.png deleted file mode 100644 index 25a91e67a9..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-thorium-shell.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/ammo/item-tracer-bullet.png b/core/assets-raw/sprites/items/ammo/item-tracer-bullet.png deleted file mode 100644 index 7bc343e09f..0000000000 Binary files a/core/assets-raw/sprites/items/ammo/item-tracer-bullet.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/item-carbide.png b/core/assets-raw/sprites/items/item-carbide.png new file mode 100644 index 0000000000..44e95c280e Binary files /dev/null and b/core/assets-raw/sprites/items/item-carbide.png differ diff --git a/core/assets-raw/sprites/items/item-iron.png b/core/assets-raw/sprites/items/item-iron.png deleted file mode 100644 index 46b05fb505..0000000000 Binary files a/core/assets-raw/sprites/items/item-iron.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/item-steel.png b/core/assets-raw/sprites/items/item-steel.png deleted file mode 100644 index 1041b9b05a..0000000000 Binary files a/core/assets-raw/sprites/items/item-steel.png and /dev/null differ diff --git a/core/assets-raw/sprites/items/item-tungsten.png b/core/assets-raw/sprites/items/item-tungsten.png new file mode 100644 index 0000000000..f6af84f404 Binary files /dev/null and b/core/assets-raw/sprites/items/item-tungsten.png differ diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 2feefd7f6d..f4fd7b0cee 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -330,7 +330,7 @@ block.steelconveyor.fulldescription=Bloco de transporte avançado. Movimenta ite #Advanced item transport block. Moves items faster than standard conveyors. block.poweredconveyor.name=Esteira de Impulso block.poweredconveyor.fulldescription=O Bloco supremo de transporte. Movimenta itens mais rapidamente que esteiras de aço. -#The ultimate item transport block. Moves items faster than steel conveyors. +#The ultimate item transport block. Moves items faster than carbide conveyors. block.router.name=Roteador block.router.fulldescription=Aceita itens de uma direção e os redireciona para as outras 3 direções. Pode guardar uma certa quantidade de itens. Útil para dividir materiais entre várias torres. block.router.description=Divide materiais em 3 direções. @@ -399,7 +399,7 @@ block.stonedrill.description=Gera 1 pedra a cada 4 segundos. #Mines 1 stone every 4 seconds. block.irondrill.name=Broca de Ferro block.irondrill.fulldescription=Uma broca básica. Quando colocada sobre uma jazida de ferro, lentamente gera ferro. -#A basic drill. When placed on iron ore tiles, outputs iron at a slow pace indefinitely. +#A basic drill. When placed on tungsten ore tiles, outputs tungsten at a slow pace indefinitely. block.irondrill.description=Gera 1 ferro a cada 5 segundos. block.coaldrill.name=Broca de Carvão block.coaldrill.fulldescription=Uma broca básica. Quando colocada sobre uma jazida de carvão, lentamente gera carvão. diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 78076da1da..f2e08ee921 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,42 +13,42 @@ background index: -1 conveyor-arrow rotate: false - xy: 747, 308 + xy: 757, 318 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-arrow rotate: false - xy: 713, 199 + xy: 736, 268 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-bridge rotate: false - xy: 723, 209 + xy: 746, 268 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-end rotate: false - xy: 723, 199 + xy: 756, 268 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mass-driver-turret rotate: false - xy: 281, 135 + xy: 385, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ripple rotate: false - xy: 281, 135 + xy: 385, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -60,217 +60,175 @@ warpgate-top orig: 24, 24 offset: 0, 0 index: -1 -irondrill +blast-drill rotate: false - xy: 746, 288 + xy: 939, 453 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +blast-drill-rim + rotate: false + xy: 627, 301 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +blast-drill-rotator + rotate: false + xy: 653, 305 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +blast-drill-top + rotate: false + xy: 586, 284 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +carbide-drill + rotate: false + xy: 707, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -irondrill-rotator +carbide-drill-rotator rotate: false - xy: 756, 298 + xy: 717, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -titaniumdrill-rotator +carbide-drill-top rotate: false - xy: 756, 298 + xy: 727, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -irondrill-top - rotate: false - xy: 756, 288 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -laserdrill +laser-drill rotate: false xy: 279, 79 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -laserdrill-rotator +laser-drill-rotator rotate: false xy: 297, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -laserdrill-top +laser-drill-top rotate: false xy: 315, 81 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -nucleardrill - rotate: false - xy: 385, 135 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -nucleardrill-rim - rotate: false - xy: 411, 135 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -nucleardrill-rotator - rotate: false - xy: 437, 136 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -nucleardrill-top - rotate: false - xy: 587, 232 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -oilextractor +oil-extractor rotate: false xy: 613, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 -oilextractor-liquid +oil-extractor-liquid rotate: false xy: 607, 206 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 -oilextractor-rotator +oil-extractor-rotator rotate: false xy: 597, 180 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 -oilextractor-top +oil-extractor-top rotate: false xy: 597, 154 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 -plasmadrill +plasma-drill rotate: false xy: 839, 479 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 -plasmadrill-rim +plasma-drill-rim rotate: false xy: 873, 479 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 -plasmadrill-rotator +plasma-drill-rotator rotate: false xy: 907, 479 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 -plasmadrill-top +plasma-drill-top rotate: false xy: 941, 479 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 -reinforceddrill +tungsten-drill rotate: false - xy: 315, 23 + xy: 335, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -reinforceddrill-rotator +tungsten-drill-rotator rotate: false - xy: 325, 33 + xy: 345, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -reinforceddrill-top +tungsten-drill-top rotate: false - xy: 315, 13 + xy: 335, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -steeldrill - rotate: false - xy: 395, 33 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -steeldrill-rotator - rotate: false - xy: 385, 13 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -steeldrill-top - rotate: false - xy: 395, 23 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -titaniumdrill - rotate: false - xy: 335, 3 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -titaniumdrill-top - rotate: false - xy: 345, 3 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -waterextractor +water-extractor rotate: false xy: 315, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -waterextractor-liquid +water-extractor-liquid rotate: false xy: 333, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -waterextractor-rotator +water-extractor-rotator rotate: false xy: 351, 63 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -waterextractor-top +water-extractor-top rotate: false xy: 369, 63 size: 16, 16 @@ -326,27 +284,6 @@ blackstone3 orig: 8, 8 offset: 0, 0 index: -1 -blackstoneblock1 - rotate: false - xy: 955, 443 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -blackstoneblock2 - rotate: false - xy: 955, 433 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -blackstoneblock3 - rotate: false - xy: 981, 440 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 blackstoneedge rotate: false xy: 623, 138 @@ -356,28 +293,28 @@ blackstoneedge index: -1 coal2 rotate: false - xy: 747, 328 + xy: 737, 328 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 747, 318 + xy: 737, 318 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 767, 320 + xy: 747, 308 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 767, 310 + xy: 757, 308 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -391,28 +328,14 @@ dirtedge index: -1 grass2 rotate: false - xy: 706, 299 + xy: 787, 320 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 706, 289 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -grassblock1 - rotate: false - xy: 716, 299 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -grassblock2 - rotate: false - xy: 706, 279 + xy: 787, 310 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -426,14 +349,14 @@ grassedge index: -1 ice2 rotate: false - xy: 716, 289 + xy: 706, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 726, 299 + xy: 706, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -447,49 +370,35 @@ iceedge index: -1 icerock2 rotate: false - xy: 716, 279 + xy: 716, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 726, 289 + xy: 706, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 726, 289 + xy: 706, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 726, 279 + xy: 716, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 726, 279 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -iron2 - rotate: false - xy: 736, 288 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -iron3 - rotate: false - xy: 746, 298 + xy: 716, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -503,49 +412,49 @@ lavaedge index: -1 lead2 rotate: false - xy: 723, 189 + xy: 745, 258 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 827, 423 + xy: 755, 258 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor2 rotate: false - xy: 933, 417 + xy: 753, 248 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor3 rotate: false - xy: 943, 417 + xy: 713, 239 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor4 rotate: false - xy: 953, 413 + xy: 723, 239 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor5 rotate: false - xy: 963, 423 + xy: 733, 238 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor6 rotate: false - xy: 963, 413 + xy: 743, 238 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -557,13 +466,6 @@ metalflooredge orig: 12, 12 offset: 0, 0 index: -1 -mossblock - rotate: false - xy: 295, 33 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 oiledge rotate: false xy: 635, 106 @@ -573,42 +475,21 @@ oiledge index: -1 rock2 rotate: false - xy: 335, 33 + xy: 723, 209 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 335, 23 + xy: 713, 189 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 345, 33 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -sandblock1 - rotate: false - xy: 335, 13 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -sandblock2 - rotate: false - xy: 345, 23 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -sandblock3 - rotate: false - xy: 355, 33 + xy: 723, 189 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -622,42 +503,21 @@ sandedge index: -1 shrubshadow rotate: false - xy: 365, 23 + xy: 923, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 365, 13 + xy: 943, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 375, 23 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -snowblock1 - rotate: false - xy: 385, 33 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -snowblock2 - rotate: false - xy: 375, 13 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -snowblock3 - rotate: false - xy: 385, 23 + xy: 953, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -678,63 +538,42 @@ spaceedge index: -1 stone-cliff-edge rotate: false - xy: 405, 23 + xy: 295, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-1 rotate: false - xy: 415, 33 + xy: 295, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-2 rotate: false - xy: 405, 13 + xy: 305, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-side rotate: false - xy: 415, 23 + xy: 295, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 405, 33 + xy: 963, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 395, 13 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -stoneblock1 - rotate: false - xy: 415, 13 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -stoneblock2 - rotate: false - xy: 425, 35 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -stoneblock3 - rotate: false - xy: 425, 25 + xy: 963, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -748,56 +587,70 @@ stoneedge index: -1 thorium2 rotate: false - xy: 295, 3 + xy: 305, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 305, 3 + xy: 315, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 315, 3 + xy: 305, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 325, 3 + xy: 315, 23 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +tungsten2 + rotate: false + xy: 335, 33 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +tungsten3 + rotate: false + xy: 325, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge rotate: false - xy: 415, 3 + xy: 345, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-1 rotate: false - xy: 425, 5 + xy: 355, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-2 rotate: false - xy: 435, 31 + xy: 365, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-side rotate: false - xy: 435, 21 + xy: 355, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -811,63 +664,63 @@ wateredge index: -1 block-border rotate: false - xy: 667, 157 + xy: 981, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-elevation rotate: false - xy: 679, 170 + xy: 981, 430 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 679, 170 + xy: 981, 430 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-middle rotate: false - xy: 697, 309 + xy: 447, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 697, 309 + xy: 447, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-slope rotate: false - xy: 717, 329 + xy: 447, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 border rotate: false - xy: 707, 319 + xy: 697, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 757, 318 + xy: 747, 318 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 757, 308 + xy: 737, 308 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -881,7 +734,7 @@ cross-2 index: -1 cross-3 rotate: false - xy: 229, 143 + xy: 255, 127 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -895,7 +748,7 @@ cross-4 index: -1 enemyspawn rotate: false - xy: 787, 320 + xy: 777, 320 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -909,14 +762,14 @@ nuclearreactor-shadow index: -1 place-arrow rotate: false - xy: 295, 23 + xy: 753, 238 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 305, 33 + xy: 707, 229 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1028,140 +881,140 @@ shadow-round-2 index: -1 bridgeconduit-arrow rotate: false - xy: 717, 319 + xy: 697, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-bridge rotate: false - xy: 707, 309 + xy: 707, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-end rotate: false - xy: 717, 309 + xy: 697, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-arrow rotate: false - xy: 727, 329 + xy: 717, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-bridge rotate: false - xy: 727, 319 + xy: 707, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-end rotate: false - xy: 727, 309 + xy: 717, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 757, 328 + xy: 747, 328 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 737, 308 + xy: 757, 328 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-arrow rotate: false - xy: 709, 219 + xy: 705, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-bridge rotate: false - xy: 719, 219 + xy: 715, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-end rotate: false - xy: 713, 209 + xy: 725, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 893, 417 + xy: 713, 249 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 903, 417 + xy: 723, 249 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 913, 417 + xy: 733, 248 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 923, 417 + xy: 743, 248 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidtank-bottom rotate: false - xy: 598, 258 + xy: 307, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidtank-liquid rotate: false - xy: 229, 117 + xy: 333, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquidtank-top rotate: false - xy: 255, 127 + xy: 359, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 pulseconduit-bottom rotate: false - xy: 295, 13 + xy: 717, 229 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 305, 23 + xy: 709, 219 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1252,21 +1105,21 @@ fusion-reactor-top index: -1 nuclear-reactor-center rotate: false - xy: 333, 135 + xy: 437, 136 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nuclear-reactor-lights rotate: false - xy: 359, 135 + xy: 587, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 rtg-generator-top rotate: false - xy: 325, 13 + xy: 723, 199 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1420,14 +1273,14 @@ cultivator-top index: -1 extractor rotate: false - xy: 787, 310 + xy: 777, 310 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavasmelter rotate: false - xy: 713, 189 + xy: 735, 258 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1462,42 +1315,42 @@ silicon-smelter-top index: -1 pulverizer rotate: false - xy: 315, 33 + xy: 719, 219 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 305, 13 + xy: 713, 209 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 345, 13 + xy: 827, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 375, 33 + xy: 933, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 core-open rotate: false - xy: 571, 157 + xy: 229, 117 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-1 rotate: false - xy: 663, 217 + xy: 955, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1518,14 +1371,14 @@ block-2-top index: -1 block-3 rotate: false - xy: 939, 453 + xy: 965, 450 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-3-top rotate: false - xy: 627, 301 + xy: 467, 176 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -1588,21 +1441,21 @@ crux-panel-right index: -1 duo rotate: false - xy: 777, 310 + xy: 767, 310 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fuse rotate: false - xy: 572, 258 + xy: 281, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 spectre rotate: false - xy: 572, 258 + xy: 281, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -1714,14 +1567,14 @@ walkerfactory-top-open index: -1 mech-factory rotate: false - xy: 307, 135 + xy: 411, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 ship-factory rotate: false - xy: 307, 135 + xy: 411, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -1735,7 +1588,7 @@ reconstructor-open index: -1 repairpoint-turret rotate: false - xy: 325, 23 + xy: 713, 199 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1749,21 +1602,7 @@ door-large-open index: -1 door-open rotate: false - xy: 777, 320 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -stonewall - rotate: false - xy: 425, 15 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -titaniumshieldwall - rotate: false - xy: 355, 3 + xy: 767, 320 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1882,7 +1721,7 @@ shell-back index: -1 shot rotate: false - xy: 355, 13 + xy: 913, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1896,7 +1735,7 @@ transfer index: -1 transfer-arrow rotate: false - xy: 365, 3 + xy: 325, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1922,296 +1761,310 @@ block-icon-biomattercompressor orig: 16, 16 offset: 0, 0 index: -1 +block-icon-blast-drill + rotate: false + xy: 493, 183 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 block-icon-bridgeconduit rotate: false - xy: 703, 205 + xy: 663, 217 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit rotate: false - xy: 703, 205 + xy: 663, 217 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-bridgeconveyor rotate: false - xy: 583, 108 + xy: 667, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor rotate: false - xy: 583, 108 + xy: 667, 157 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 +block-icon-carbide-drill + rotate: false + xy: 679, 170 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +block-icon-carbide-wall + rotate: false + xy: 703, 205 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +carbide-wall + rotate: false + xy: 703, 205 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +block-icon-carbide-wall-large + rotate: false + xy: 571, 139 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +carbide-wall-large + rotate: false + xy: 571, 139 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 block-icon-centrifuge - rotate: false - xy: 571, 139 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -centrifuge - rotate: false - xy: 571, 139 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -block-icon-coal - rotate: false - xy: 593, 108 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -coal1 - rotate: false - xy: 593, 108 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-combustion-generator - rotate: false - xy: 679, 160 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -combustion-generator - rotate: false - xy: 679, 160 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-conduit - rotate: false - xy: 297, 53 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-conveyor - rotate: false - xy: 307, 53 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -conveyor - rotate: false - xy: 307, 53 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-core - rotate: false - xy: 653, 305 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -core - rotate: false - xy: 653, 305 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -block-icon-cryofluidmixer rotate: false xy: 623, 188 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -block-icon-cultivator +centrifuge + rotate: false + xy: 623, 188 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +block-icon-coal + rotate: false + xy: 583, 108 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +coal1 + rotate: false + xy: 583, 108 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +block-icon-combustion-generator + rotate: false + xy: 593, 108 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +combustion-generator + rotate: false + xy: 593, 108 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +block-icon-conduit + rotate: false + xy: 679, 160 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +block-icon-conveyor + rotate: false + xy: 297, 53 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +conveyor + rotate: false + xy: 297, 53 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +block-icon-core + rotate: false + xy: 519, 183 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +core + rotate: false + xy: 519, 183 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +block-icon-cryofluidmixer rotate: false xy: 623, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 +block-icon-cultivator + rotate: false + xy: 623, 152 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 block-icon-deepwater rotate: false - xy: 317, 53 + xy: 307, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 317, 53 + xy: 307, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-deflector-wall rotate: false - xy: 327, 53 + xy: 317, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deflector-wall rotate: false - xy: 327, 53 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -duriumwall - rotate: false - xy: 327, 53 + xy: 317, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 327, 53 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-duriumwall - rotate: false - xy: 327, 53 + xy: 317, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-phase-wall rotate: false - xy: 327, 53 + xy: 317, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-deflector-wall-large rotate: false - xy: 623, 152 + xy: 705, 349 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 deflector-wall-large rotate: false - xy: 623, 152 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -duriumwall-large - rotate: false - xy: 623, 152 + xy: 705, 349 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 phase-wall-large rotate: false - xy: 623, 152 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -block-icon-duriumwall-large - rotate: false - xy: 623, 152 + xy: 705, 349 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-phase-wall-large rotate: false - xy: 623, 152 + xy: 705, 349 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-dirt rotate: false - xy: 337, 53 + xy: 327, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 337, 53 + xy: 327, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-door rotate: false - xy: 347, 53 + xy: 337, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 347, 53 + xy: 337, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-door-large rotate: false - xy: 705, 349 + xy: 723, 367 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-large rotate: false - xy: 705, 349 + xy: 723, 367 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-dronefactory rotate: false - xy: 723, 367 + xy: 723, 349 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-droppoint rotate: false - xy: 357, 53 + xy: 347, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 droppoint rotate: false - xy: 357, 53 + xy: 347, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-duo rotate: false - xy: 367, 53 + xy: 357, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-fuse rotate: false - xy: 586, 284 + xy: 545, 183 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -2225,161 +2078,105 @@ block-icon-fusion-reactor index: -1 block-icon-grass rotate: false - xy: 377, 53 + xy: 367, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass1 rotate: false - xy: 377, 53 + xy: 367, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-hail rotate: false - xy: 387, 53 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-scatter - rotate: false - xy: 387, 53 + xy: 377, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-ice rotate: false - xy: 397, 53 + xy: 387, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice1 rotate: false - xy: 397, 53 + xy: 387, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-icerock rotate: false - xy: 407, 53 + xy: 397, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock1 rotate: false - xy: 407, 53 + xy: 397, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-incinerator rotate: false - xy: 295, 43 + xy: 407, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 incinerator rotate: false - xy: 295, 43 + xy: 407, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -block-icon-iron - rotate: false - xy: 305, 43 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -iron1 - rotate: false - xy: 305, 43 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-irondrill - rotate: false - xy: 315, 43 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-ironwall - rotate: false - xy: 325, 43 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -ironwall - rotate: false - xy: 325, 43 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-ironwall-large - rotate: false - xy: 723, 349 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -ironwall-large - rotate: false - xy: 723, 349 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 block-icon-itemsource rotate: false - xy: 335, 43 + xy: 295, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 335, 43 + xy: 295, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-itemvoid rotate: false - xy: 345, 43 + xy: 305, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 345, 43 + xy: 305, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-junction rotate: false - xy: 355, 43 + xy: 315, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 junction rotate: false - xy: 355, 43 + xy: 315, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2393,154 +2190,154 @@ block-icon-lancer index: -1 block-icon-large-solar-panel rotate: false - xy: 965, 450 + xy: 571, 183 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 large-solar-panel rotate: false - xy: 965, 450 + xy: 571, 183 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 -block-icon-laserconduit - rotate: false - xy: 365, 43 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -laserconduit - rotate: false - xy: 365, 43 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-laserconveyor - rotate: false - xy: 375, 43 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -laserconveyor - rotate: false - xy: 375, 43 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-laserdrill +block-icon-laser-drill rotate: false xy: 679, 303 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 +block-icon-laserconduit + rotate: false + xy: 325, 43 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +laserconduit + rotate: false + xy: 325, 43 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +block-icon-laserconveyor + rotate: false + xy: 335, 43 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +laserconveyor + rotate: false + xy: 335, 43 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 block-icon-lava rotate: false - xy: 385, 43 + xy: 345, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 385, 43 + xy: 345, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-lead rotate: false - xy: 395, 43 + xy: 355, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead1 rotate: false - xy: 395, 43 + xy: 355, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidjunction rotate: false - xy: 405, 43 + xy: 365, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 405, 43 + xy: 365, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidrouter rotate: false - xy: 417, 53 + xy: 375, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidsource rotate: false - xy: 415, 43 + xy: 385, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 415, 43 + xy: 385, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidtank rotate: false - xy: 467, 176 + xy: 467, 150 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-mass-driver rotate: false - xy: 493, 183 + xy: 493, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 mass-driver rotate: false - xy: 493, 183 + xy: 493, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 core-top rotate: false - xy: 493, 183 + xy: 493, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-mechanical-pump rotate: false - xy: 427, 55 + xy: 395, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mechanical-pump rotate: false - xy: 427, 55 + xy: 395, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2554,28 +2351,28 @@ block-icon-meltdown index: -1 block-icon-melter rotate: false - xy: 439, 71 + xy: 405, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 439, 71 + xy: 405, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-metalfloor rotate: false - xy: 439, 61 + xy: 417, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor1 rotate: false - xy: 439, 61 + xy: 417, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2596,75 +2393,68 @@ multiplexer index: -1 block-icon-nuclear-reactor rotate: false - xy: 519, 183 + xy: 519, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 nuclear-reactor rotate: false - xy: 519, 183 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 -block-icon-nucleardrill - rotate: false - xy: 545, 183 + xy: 519, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-oil rotate: false - xy: 437, 51 + xy: 415, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 437, 51 + xy: 415, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -block-icon-oilextractor +block-icon-oil-extractor rotate: false - xy: 571, 183 + xy: 545, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-oilrefinery rotate: false - xy: 427, 45 + xy: 427, 55 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oilrefinery rotate: false - xy: 427, 45 + xy: 427, 55 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-overflowgate rotate: false - xy: 437, 41 + xy: 439, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 overflowgate rotate: false - xy: 437, 41 + xy: 439, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -block-icon-plasmadrill +block-icon-plasma-drill rotate: false xy: 271, 161 size: 32, 32 @@ -2687,14 +2477,14 @@ plasteel-compressor index: -1 block-icon-power-node rotate: false - xy: 705, 339 + xy: 439, 61 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 power-node rotate: false - xy: 705, 339 + xy: 439, 61 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2715,42 +2505,42 @@ power-node-large index: -1 block-icon-powerinfinite rotate: false - xy: 715, 339 + xy: 437, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powerinfinite rotate: false - xy: 715, 339 + xy: 437, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-powervoid rotate: false - xy: 725, 339 + xy: 427, 45 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powervoid rotate: false - xy: 725, 339 + xy: 427, 45 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pulseconduit rotate: false - xy: 843, 425 + xy: 437, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pulverizer rotate: false - xy: 853, 425 + xy: 705, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2783,58 +2573,51 @@ walkerfactory orig: 16, 16 offset: 0, 0 index: -1 -block-icon-reinforceddrill - rotate: false - xy: 863, 425 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 block-icon-repairpoint rotate: false - xy: 873, 425 + xy: 715, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairpoint rotate: false - xy: 873, 425 + xy: 715, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-resupplypoint rotate: false - xy: 883, 425 + xy: 725, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 resupplypoint rotate: false - xy: 883, 425 + xy: 725, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-ripple rotate: false - xy: 467, 150 + xy: 571, 157 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-rock rotate: false - xy: 893, 427 + xy: 843, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock1 rotate: false - xy: 893, 427 + xy: 843, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2855,77 +2638,77 @@ rotary-pump index: -1 block-icon-router rotate: false - xy: 903, 427 + xy: 853, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 903, 427 + xy: 853, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-rtg-generator rotate: false - xy: 913, 427 + xy: 863, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtg-generator rotate: false - xy: 913, 427 + xy: 863, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sand rotate: false - xy: 923, 427 + xy: 873, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 923, 427 + xy: 873, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-scorch rotate: false - xy: 933, 427 + xy: 883, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-separator rotate: false - xy: 943, 427 + xy: 893, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator rotate: false - xy: 943, 427 + xy: 893, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-shrub rotate: false - xy: 953, 423 + xy: 903, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrub rotate: false - xy: 953, 423 + xy: 903, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2946,271 +2729,278 @@ silicon-smelter index: -1 block-icon-smelter rotate: false - xy: 773, 330 + xy: 913, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter rotate: false - xy: 773, 330 + xy: 913, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-snow rotate: false - xy: 783, 330 + xy: 923, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 783, 330 + xy: 923, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-solar-panel rotate: false - xy: 265, 31 + xy: 933, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 solar-panel rotate: false - xy: 265, 31 + xy: 933, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sortedunloader rotate: false - xy: 265, 21 + xy: 943, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 265, 21 + xy: 943, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sorter rotate: false - xy: 703, 245 + xy: 953, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 703, 245 + xy: 953, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-space rotate: false - xy: 703, 195 + xy: 773, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 space rotate: false - xy: 703, 195 + xy: 773, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-splitter rotate: false - xy: 279, 35 + xy: 783, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 279, 35 + xy: 783, 330 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -block-icon-steeldrill - rotate: false - xy: 275, 25 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-steelwall - rotate: false - xy: 275, 15 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -steelwall - rotate: false - xy: 275, 15 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -block-icon-steelwall-large - rotate: false - xy: 381, 117 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 -steelwall-large - rotate: false - xy: 381, 117 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 block-icon-stone rotate: false - xy: 275, 5 + xy: 265, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone1 rotate: false - xy: 275, 5 + xy: 265, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-stoneformer rotate: false - xy: 285, 25 + xy: 265, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 285, 25 + xy: 265, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-swarmer rotate: false - xy: 399, 117 + xy: 381, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thermal-generator rotate: false - xy: 417, 117 + xy: 399, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 thermal-generator rotate: false - xy: 417, 117 + xy: 399, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thermal-pump rotate: false - xy: 213, 98 + xy: 417, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 thermal-pump rotate: false - xy: 213, 98 + xy: 417, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thorium rotate: false - xy: 285, 15 + xy: 703, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 285, 15 + xy: 703, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 +block-icon-thorium-wall + rotate: false + xy: 703, 195 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +thorium-wall + rotate: false + xy: 703, 195 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +block-icon-thorium-wall-large + rotate: false + xy: 213, 98 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +thorium-wall-large + rotate: false + xy: 213, 98 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 block-icon-titanium rotate: false - xy: 285, 5 + xy: 279, 35 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 285, 5 + xy: 279, 35 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-titanium-conveyor rotate: false - xy: 447, 51 + xy: 275, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium-conveyor rotate: false - xy: 447, 51 + xy: 275, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -block-icon-titaniumdrill +block-icon-tungsten rotate: false - xy: 447, 41 + xy: 275, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -block-icon-titaniumwall +tungsten1 rotate: false - xy: 697, 329 + xy: 275, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -titaniumwall +block-icon-tungsten-drill rotate: false - xy: 697, 329 + xy: 275, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -block-icon-titaniumwall-large +block-icon-tungsten-wall + rotate: false + xy: 285, 25 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +tungsten-wall + rotate: false + xy: 285, 25 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +block-icon-tungsten-wall-large rotate: false xy: 231, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -titaniumwall-large +tungsten-wall-large rotate: false xy: 231, 99 size: 16, 16 @@ -3233,61 +3023,61 @@ turbine-generator index: -1 block-icon-unloader rotate: false - xy: 697, 319 + xy: 285, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 unloader rotate: false - xy: 697, 319 + xy: 285, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-vault rotate: false - xy: 493, 157 + xy: 229, 143 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 vault rotate: false - xy: 493, 157 + xy: 229, 143 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-warpgate rotate: false - xy: 519, 157 + xy: 572, 258 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 warpgate rotate: false - xy: 519, 157 + xy: 572, 258 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-icon-water rotate: false - xy: 707, 329 + xy: 285, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 707, 329 + xy: 285, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -block-icon-waterextractor +block-icon-water-extractor rotate: false xy: 207, 62 size: 16, 16 @@ -3357,191 +3147,107 @@ mech-icon-trident-ship orig: 12, 12 offset: 0, 0 index: -1 -item-armor-piercing-bullet - rotate: false - xy: 736, 278 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-composite-flak - rotate: false - xy: 716, 269 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-explosive-shell - rotate: false - xy: 726, 269 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-frag-shell - rotate: false - xy: 705, 259 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-homing-bullet - rotate: false - xy: 715, 259 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-incendiary-mortar-shell - rotate: false - xy: 725, 259 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-lead-bullet - rotate: false - xy: 756, 268 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-scythe-missile - rotate: false - xy: 713, 249 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-surge-mortar-shell - rotate: false - xy: 713, 239 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-swarm-missile - rotate: false - xy: 723, 239 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-thorium-shell - rotate: false - xy: 753, 238 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-tracer-bullet - rotate: false - xy: 717, 229 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 item-biomatter rotate: false - xy: 746, 278 + xy: 716, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 756, 278 + xy: 726, 289 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +item-carbide + rotate: false + xy: 726, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 706, 269 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-iron - rotate: false - xy: 736, 268 + xy: 736, 298 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 746, 268 + xy: 736, 288 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-phase-matter rotate: false - xy: 735, 258 + xy: 746, 298 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plasteel rotate: false - xy: 745, 258 + xy: 746, 288 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-sand rotate: false - xy: 755, 258 + xy: 756, 298 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 723, 249 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -item-steel - rotate: false - xy: 733, 248 + xy: 756, 288 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 743, 248 + xy: 736, 278 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 753, 248 + xy: 746, 278 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thermite rotate: false - xy: 733, 238 + xy: 756, 278 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 743, 238 + xy: 706, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 707, 229 + xy: 716, 269 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +item-tungsten + rotate: false + xy: 726, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3780,7 +3486,7 @@ button-map-over index: -1 button-select rotate: false - xy: 545, 157 + xy: 598, 258 size: 24, 24 split: 4, 4, 4, 4 orig: 24, 24 @@ -4180,7 +3886,7 @@ icon-itch.io index: -1 icon-items-none rotate: false - xy: 736, 298 + xy: 726, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -4731,7 +4437,7 @@ beam-equip index: -1 blaster rotate: false - xy: 981, 430 + xy: 955, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -4745,14 +4451,14 @@ blaster-equip index: -1 clustergun rotate: false - xy: 737, 328 + xy: 727, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 737, 318 + xy: 727, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -4766,42 +4472,42 @@ generic-weapon index: -1 shockgun rotate: false - xy: 355, 23 + xy: 893, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 365, 33 + xy: 903, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 375, 3 + xy: 315, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 385, 3 + xy: 325, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 395, 3 + xy: 345, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 405, 3 + xy: 355, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index dabb6f5e29..83150cbe03 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/src/io/anuke/mindustry/ai/BlockIndexer.java b/core/src/io/anuke/mindustry/ai/BlockIndexer.java index 76b4a3ac46..78a07b4460 100644 --- a/core/src/io/anuke/mindustry/ai/BlockIndexer.java +++ b/core/src/io/anuke/mindustry/ai/BlockIndexer.java @@ -6,6 +6,7 @@ import com.badlogic.gdx.utils.IntMap; import com.badlogic.gdx.utils.ObjectMap; import com.badlogic.gdx.utils.ObjectSet; import io.anuke.mindustry.content.Items; +import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.game.EventType.TileChangeEvent; import io.anuke.mindustry.game.EventType.WorldLoadEvent; @@ -18,6 +19,7 @@ import io.anuke.ucore.core.Events; import io.anuke.ucore.entities.trait.Entity; import io.anuke.ucore.function.Predicate; import io.anuke.ucore.util.EnumSet; +import io.anuke.ucore.util.Geometry; import io.anuke.ucore.util.Mathf; import static io.anuke.mindustry.Vars.*; @@ -27,12 +29,12 @@ import static io.anuke.mindustry.Vars.*; /**Class used for indexing special target blocks for AI.*/ public class BlockIndexer { /**Size of one ore quadrant.*/ - private final static int oreQuadrantSize = 12; + private final static int oreQuadrantSize = 20; /**Size of one structure quadrant.*/ private final static int structQuadrantSize = 12; /**Set of all ores that are being scanned.*/ - private final ObjectSet scanOres = ObjectSet.with(Items.iron, Items.coal, Items.lead, Items.thorium, Items.titanium); + private final ObjectSet scanOres = ObjectSet.with(Items.tungsten, Items.coal, Items.lead, Items.thorium, Items.titanium); /**Stores all ore quadtrants on the map.*/ private ObjectMap> ores = new ObjectMap<>(); @@ -138,6 +140,24 @@ public class BlockIndexer { return ores.get(item, emptyArray); } + /**Find the closest ore block relative to a position.*/ + public Tile findClosestOre(float xp, float yp, Item item){ + Tile tile = Geometry.findClosest(xp, yp, world.indexer().getOrePositions(item)); + + if(tile == null) return null; + + for (int x = Math.max(0, tile.x - oreQuadrantSize/2); x < tile.x + oreQuadrantSize/2 && x < world.width(); x++) { + for (int y = Math.max(0, tile.y - oreQuadrantSize/2); y < tile.y + oreQuadrantSize/2 && y < world.height(); y++) { + Tile res = world.tile(x, y); + if(res.block() == Blocks.air && res.floor().drops != null && res.floor().drops.item == item){ + return res; + } + } + } + + return null; + } + private void process(Tile tile){ if(tile.block().flags != null && tile.getTeam() != Team.none){ @@ -222,7 +242,7 @@ public class BlockIndexer { Tile tile = world.tile(x, y); //add position of quadrant to list when an ore is found - if(tile.floor().drops != null && scanOres.contains(tile.floor().drops.item)){ + if(tile.floor().drops != null && scanOres.contains(tile.floor().drops.item) && tile.block() == Blocks.air){ ores.get(tile.floor().drops.item).add(world.tile( //make sure to clamp quadrant middle position, since it might go off bounds Mathf.clamp(qx * oreQuadrantSize + oreQuadrantSize /2, 0, world.width() - 1), diff --git a/core/src/io/anuke/mindustry/content/AmmoTypes.java b/core/src/io/anuke/mindustry/content/AmmoTypes.java index 57b330481d..02e122e098 100644 --- a/core/src/io/anuke/mindustry/content/AmmoTypes.java +++ b/core/src/io/anuke/mindustry/content/AmmoTypes.java @@ -8,14 +8,17 @@ import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.type.ContentList; public class AmmoTypes implements ContentList { - public static AmmoType bulletIron, bulletLead, bulletSteel, bulletThorium, bulletSilicon, bulletThermite, flakLead, flakExplosive, flakPlastic, flakSurge, missileExplosive, missileIncindiary, missileSurge, artilleryLead, artilleryThorium, artilleryPlastic, artilleryHoming, artilleryIncindiary, basicFlame, lancerLaser, lightning, spectreLaser, meltdownLaser, fuseShotgun, oil, water, lava, cryofluid; + public static AmmoType bulletIron, bulletLead, bulletSteel, bulletThorium, bulletSilicon, bulletThermite, + flakLead, flakExplosive, flakPlastic, flakSurge, missileExplosive, missileIncindiary, missileSurge, + artilleryLead, artilleryThorium, artilleryPlastic, artilleryHoming, artilleryIncindiary, + basicFlame, lancerLaser, lightning, spectreLaser, meltdownLaser, fuseShotgun, oil, water, lava, cryofluid; @Override public void load() { //bullets - bulletIron = new AmmoType(Items.iron, StandardBullets.iron, 3) {{ + bulletIron = new AmmoType(Items.tungsten, StandardBullets.iron, 3) {{ shootEffect = ShootFx.shootSmall; smokeEffect = ShootFx.shootSmallSmoke; }}; @@ -25,7 +28,7 @@ public class AmmoTypes implements ContentList { smokeEffect = ShootFx.shootSmallSmoke; }}; - bulletSteel = new AmmoType(Items.steel, StandardBullets.steel, 3) {{ + bulletSteel = new AmmoType(Items.carbide, StandardBullets.steel, 3) {{ shootEffect = ShootFx.shootSmall; smokeEffect = ShootFx.shootSmallSmoke; }}; @@ -127,7 +130,7 @@ public class AmmoTypes implements ContentList { meltdownLaser = new AmmoType(TurretBullets.lancerLaser); - fuseShotgun = new AmmoType(Items.iron, TurretBullets.fuseShot, 0.1f); + fuseShotgun = new AmmoType(Items.tungsten, TurretBullets.fuseShot, 0.1f); //liquid diff --git a/core/src/io/anuke/mindustry/content/Items.java b/core/src/io/anuke/mindustry/content/Items.java index 4b94c5b308..547d4ecb24 100644 --- a/core/src/io/anuke/mindustry/content/Items.java +++ b/core/src/io/anuke/mindustry/content/Items.java @@ -8,7 +8,8 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemType; public class Items implements ContentList{ - public static Item stone, iron, lead, coal, steel, titanium, thorium, silicon, plasteel, phasematter, surgealloy, biomatter, sand, blastCompound, thermite; + public static Item stone, tungsten, lead, coal, carbide, titanium, thorium, silicon, plasteel, phasematter, surgealloy, + biomatter, sand, blastCompound, thermite; @Override public void load() { @@ -17,7 +18,7 @@ public class Items implements ContentList{ hardness = 3; }}; - iron = new Item("iron", Color.valueOf("bc8271")) {{ + tungsten = new Item("tungsten", Color.valueOf("a0b0c8")) {{ type = ItemType.material; hardness = 1; }}; @@ -33,7 +34,7 @@ public class Items implements ContentList{ hardness = 2; }}; - steel = new Item("steel", Color.valueOf("e2e2e2")) {{ + carbide = new Item("carbide", Color.valueOf("e2e2e2")) {{ type = ItemType.material; }}; diff --git a/core/src/io/anuke/mindustry/content/Recipes.java b/core/src/io/anuke/mindustry/content/Recipes.java index ff5465d2fa..67603d583b 100644 --- a/core/src/io/anuke/mindustry/content/Recipes.java +++ b/core/src/io/anuke/mindustry/content/Recipes.java @@ -13,46 +13,77 @@ public class Recipes implements ContentList{ @Override public void load (){ - new Recipe(defense, DefenseBlocks.ironwall, new ItemStack(Items.iron, 12)); - new Recipe(defense, DefenseBlocks.ironwalllarge, new ItemStack(Items.iron, 12*4)); + //WALLS + new Recipe(defense, DefenseBlocks.tungstenWall, new ItemStack(Items.tungsten, 12)); + new Recipe(defense, DefenseBlocks.tungstenWallLarge, new ItemStack(Items.tungsten, 12*4)); - new Recipe(weapon, WeaponBlocks.duo, new ItemStack(Items.iron, 12)); - new Recipe(weapon, WeaponBlocks.scatter, new ItemStack(Items.iron, 8), new ItemStack(Items.lead, 6)); - new Recipe(weapon, WeaponBlocks.scorch, new ItemStack(Items.iron, 12), new ItemStack(Items.lead, 8)); - new Recipe(weapon, WeaponBlocks.hail, new ItemStack(Items.iron, 12), new ItemStack(Items.lead, 12), new ItemStack(Items.steel, 6)); + //TURRETS + new Recipe(weapon, WeaponBlocks.duo, new ItemStack(Items.tungsten, 20)); + new Recipe(weapon, WeaponBlocks.scorch, new ItemStack(Items.tungsten, 25), new ItemStack(Items.carbide, 20)); + new Recipe(weapon, WeaponBlocks.hail, new ItemStack(Items.tungsten, 25), new ItemStack(Items.carbide, 25)); - new Recipe(distribution, DistributionBlocks.conveyor, new ItemStack(Items.iron, 1)); - new Recipe(distribution, DistributionBlocks.titaniumconveyor, new ItemStack(Items.iron, 2), new ItemStack(Items.titanium, 1)); - new Recipe(distribution, DistributionBlocks.router, new ItemStack(Items.iron, 2), new ItemStack(Items.lead, 4)); - new Recipe(distribution, DistributionBlocks.multiplexer, new ItemStack(Items.iron, 8), new ItemStack(Items.lead, 8)); - new Recipe(distribution, DistributionBlocks.junction, new ItemStack(Items.iron, 2)); - new Recipe(distribution, DistributionBlocks.sorter, new ItemStack(Items.iron, 4), new ItemStack(Items.lead, 4)); - new Recipe(distribution, DistributionBlocks.splitter, new ItemStack(Items.iron, 2), new ItemStack(Items.lead, 4)); - new Recipe(distribution, DistributionBlocks.overflowgate, new ItemStack(Items.steel, 4)); - new Recipe(distribution, DistributionBlocks.bridgeconveyor, new ItemStack(Items.steel, 8), new ItemStack(Items.iron, 8)); + new Recipe(weapon, WeaponBlocks.lancer, new ItemStack(Items.tungsten, 25), new ItemStack(Items.lead, 25), new ItemStack(Items.silicon, 25)); + new Recipe(weapon, WeaponBlocks.arc, new ItemStack(Items.tungsten, 25), new ItemStack(Items.lead, 30), new ItemStack(Items.silicon, 30)); - new Recipe(crafting, CraftingBlocks.smelter, new ItemStack(Items.iron, 40), new ItemStack(Items.lead, 30)); - new Recipe(crafting, CraftingBlocks.siliconsmelter, new ItemStack(Items.iron, 60), new ItemStack(Items.steel, 60), new ItemStack(Items.lead, 50)); - new Recipe(crafting, CraftingBlocks.arcsmelter, new ItemStack(Items.iron, 60), new ItemStack(Items.steel, 60), new ItemStack(Items.lead, 50)); + //DISTRIBUTION + new Recipe(distribution, DistributionBlocks.conveyor, new ItemStack(Items.lead, 1)); - new Recipe(power, PowerBlocks.powernode, new ItemStack(Items.iron, 2), new ItemStack(Items.lead, 6)); - //new Recipe(power, PowerBlocks.powernodelarge, new ItemStack(Items.steel, 3), new ItemStack(Items.iron, 3)); - new Recipe(power, PowerBlocks.battery, new ItemStack(Items.iron, 8), new ItemStack(Items.lead, 30)); - //new Recipe(power, PowerBlocks.batteryLarge, new ItemStack(Items.steel, 5), new ItemStack(Items.iron, 5)); - new Recipe(power, PowerBlocks.combustiongenerator, new ItemStack(Items.iron, 30), new ItemStack(Items.lead, 30)); + new Recipe(distribution, DistributionBlocks.titaniumconveyor, new ItemStack(Items.lead, 2), new ItemStack(Items.titanium, 1)); - //new Recipe(distribution, StorageBlocks.vault, new ItemStack(Items.steel, 50)); - //new Recipe(distribution, StorageBlocks.core, new ItemStack(Items.steel, 50)); - //new Recipe(distribution, StorageBlocks.unloader, new ItemStack(Items.steel, 5)); - //new Recipe(distribution, StorageBlocks.sortedunloader, new ItemStack(Items.steel, 5)); + //starter tungsten transporation + new Recipe(distribution, DistributionBlocks.junction, new ItemStack(Items.lead, 2)); + new Recipe(distribution, DistributionBlocks.splitter, new ItemStack(Items.lead, 2)); - new Recipe(production, ProductionBlocks.ironDrill, new ItemStack(Items.iron, 15)); - new Recipe(production, ProductionBlocks.reinforcedDrill, new ItemStack(Items.iron, 20), new ItemStack(Items.lead, 20)); - new Recipe(production, ProductionBlocks.steelDrill, new ItemStack(Items.iron, 40), new ItemStack(Items.lead, 25), new ItemStack(Items.steel, 25)); - new Recipe(production, ProductionBlocks.titaniumDrill, new ItemStack(Items.iron, 40), new ItemStack(Items.titanium, 40), new ItemStack(Items.steel, 40)); + //advanced carbide transporation + new Recipe(distribution, DistributionBlocks.router, new ItemStack(Items.carbide, 2), new ItemStack(Items.tungsten, 2)); + new Recipe(distribution, DistributionBlocks.multiplexer, new ItemStack(Items.carbide, 8), new ItemStack(Items.tungsten, 8)); + new Recipe(distribution, DistributionBlocks.sorter, new ItemStack(Items.carbide, 4), new ItemStack(Items.tungsten, 4)); + new Recipe(distribution, DistributionBlocks.overflowgate, new ItemStack(Items.carbide, 4), new ItemStack(Items.tungsten, 8)); + new Recipe(distribution, DistributionBlocks.bridgeconveyor, new ItemStack(Items.carbide, 8), new ItemStack(Items.tungsten, 8)); - new Recipe(units, UnitBlocks.droneFactory, new ItemStack(Items.iron, 50), new ItemStack(Items.lead, 50)); - new Recipe(units, UnitBlocks.repairPoint, new ItemStack(Items.lead, 20), new ItemStack(Items.steel, 10)); + //CRAFTING + new Recipe(crafting, CraftingBlocks.smelter, new ItemStack(Items.tungsten, 40)); + new Recipe(crafting, CraftingBlocks.siliconsmelter, new ItemStack(Items.tungsten, 60), new ItemStack(Items.lead, 50)); + new Recipe(crafting, CraftingBlocks.arcsmelter, new ItemStack(Items.tungsten, 60), new ItemStack(Items.carbide, 60), new ItemStack(Items.lead, 50)); + + new Recipe(crafting, CraftingBlocks.pulverizer, new ItemStack(Items.tungsten, 50), new ItemStack(Items.lead, 50)); + + //POWER + new Recipe(power, PowerBlocks.powernode, new ItemStack(Items.tungsten, 2), new ItemStack(Items.lead, 6)); + new Recipe(power, PowerBlocks.powernodelarge, new ItemStack(Items.carbide, 5), new ItemStack(Items.lead, 20), new ItemStack(Items.silicon, 6)); + new Recipe(power, PowerBlocks.battery, new ItemStack(Items.tungsten, 8), new ItemStack(Items.lead, 30), new ItemStack(Items.silicon, 4)); + new Recipe(power, PowerBlocks.batteryLarge, new ItemStack(Items.carbide, 16), new ItemStack(Items.tungsten, 16), new ItemStack(Items.lead, 80), new ItemStack(Items.silicon, 20)); + new Recipe(power, PowerBlocks.combustiongenerator, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 30)); + + //new Recipe(distribution, StorageBlocks.vault, new ItemStack(Items.carbide, 50)); + //new Recipe(distribution, StorageBlocks.core, new ItemStack(Items.carbide, 50)); + //new Recipe(distribution, StorageBlocks.unloader, new ItemStack(Items.carbide, 5)); + //new Recipe(distribution, StorageBlocks.sortedunloader, new ItemStack(Items.carbide, 5)); + + //DRILLS, PRODUCERS + new Recipe(production, ProductionBlocks.tungstenDrill, new ItemStack(Items.tungsten, 30)); + new Recipe(production, ProductionBlocks.carbideDrill, new ItemStack(Items.tungsten, 40), new ItemStack(Items.carbide, 40)); + + new Recipe(production, ProductionBlocks.waterextractor, new ItemStack(Items.tungsten, 50), new ItemStack(Items.carbide, 50), new ItemStack(Items.lead, 40)); + + //UNITS + new Recipe(units, UnitBlocks.droneFactory, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 50), new ItemStack(Items.silicon, 30)); + new Recipe(units, UnitBlocks.repairPoint, new ItemStack(Items.lead, 30), new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 20)); + + //LIQUIDS + new Recipe(liquid, LiquidBlocks.conduit, new ItemStack(Items.lead, 1)); + + new Recipe(liquid, LiquidBlocks.pulseconduit, new ItemStack(Items.titanium, 1), new ItemStack(Items.lead, 1)); + + new Recipe(liquid, LiquidBlocks.liquidrouter, new ItemStack(Items.carbide, 4), new ItemStack(Items.lead, 4)); + new Recipe(liquid, LiquidBlocks.liquidtank, new ItemStack(Items.titanium, 50), new ItemStack(Items.lead, 50), new ItemStack(Items.carbide, 20)); + new Recipe(liquid, LiquidBlocks.liquidjunction, new ItemStack(Items.carbide, 4), new ItemStack(Items.lead, 4)); + new Recipe(liquid, LiquidBlocks.bridgeconduit, new ItemStack(Items.carbide, 8), new ItemStack(Items.lead, 8)); + //new Recipe(liquid, LiquidBlocks.laserconduit, new ItemStack(Items.titanium, 2), new ItemStack(Items.lead, 2), new ItemStack(Items.phasematter, 10)); + + new Recipe(liquid, LiquidBlocks.mechanicalPump, new ItemStack(Items.tungsten, 10), new ItemStack(Items.lead, 10), new ItemStack(Items.silicon, 10)); + //new Recipe(liquid, LiquidBlocks.rotaryPump, new ItemStack(Items.carbide, 10), new ItemStack(Items.surgealloy, 5)); + //new Recipe(liquid, LiquidBlocks.thermalPump, new ItemStack(Items.carbide, 10), new ItemStack(Items.surgealloy, 5)); /* new Recipe(production, ProductionBlocks.laserdrill, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40)); @@ -64,57 +95,56 @@ public class Recipes implements ContentList{ - //new Recipe(distribution, DistributionBlocks.laserconveyor, new ItemStack(Items.steel, 5)); - //new Recipe(distribution, DistributionBlocks.massdriver, new ItemStack(Items.steel, 1)); + //new Recipe(distribution, DistributionBlocks.laserconveyor, new ItemStack(Items.carbide, 5)); + //new Recipe(distribution, DistributionBlocks.massdriver, new ItemStack(Items.carbide, 1)); /* - new Recipe(defense, DefenseBlocks.steelwall, new ItemStack(Items.steel, 12)); + new Recipe(defense, DefenseBlocks.steelwall, new ItemStack(Items.carbide, 12)); new Recipe(defense, DefenseBlocks.titaniumwall, new ItemStack(Items.titanium, 12)); new Recipe(defense, DefenseBlocks.diriumwall, new ItemStack(Items.surgealloy, 12)); - new Recipe(defense, DefenseBlocks.steelwalllarge, new ItemStack(Items.steel, 12 * 4)); + new Recipe(defense, DefenseBlocks.steelwalllarge, new ItemStack(Items.carbide, 12 * 4)); new Recipe(defense, DefenseBlocks.titaniumwalllarge, new ItemStack(Items.titanium, 12 * 4)); new Recipe(defense, DefenseBlocks.diriumwall, new ItemStack(Items.surgealloy, 12 * 4)); - new Recipe(defense, DefenseBlocks.door, new ItemStack(Items.steel, 3), new ItemStack(Items.iron, 3 * 4)); - new Recipe(defense, DefenseBlocks.largedoor, new ItemStack(Items.steel, 3 * 4), new ItemStack(Items.iron, 3 * 4 * 4)); + new Recipe(defense, DefenseBlocks.door, new ItemStack(Items.carbide, 3), new ItemStack(Items.tungsten, 3 * 4)); + new Recipe(defense, DefenseBlocks.largedoor, new ItemStack(Items.carbide, 3 * 4), new ItemStack(Items.tungsten, 3 * 4 * 4)); new Recipe(defense, DefenseBlocks.deflectorwall, new ItemStack(Items.titanium, 1)); new Recipe(defense, DefenseBlocks.deflectorwalllarge, new ItemStack(Items.titanium, 1)); new Recipe(defense, DefenseBlocks.phasewall, new ItemStack(Items.titanium, 1)); new Recipe(defense, DefenseBlocks.phasewalllarge, new ItemStack(Items.titanium, 1)); + new Recipe(weapon, WeaponBlocks.wave, new ItemStack(Items.tungsten, 1)); + new Recipe(weapon, WeaponBlocks.lancer, new ItemStack(Items.tungsten, 1)); + new Recipe(weapon, WeaponBlocks.arc, new ItemStack(Items.tungsten, 1)); + new Recipe(weapon, WeaponBlocks.swarmer, new ItemStack(Items.tungsten, 1)); + new Recipe(weapon, WeaponBlocks.ripple, new ItemStack(Items.tungsten, 1)); + new Recipe(weapon, WeaponBlocks.fuse, new ItemStack(Items.tungsten, 1)); + new Recipe(weapon, WeaponBlocks.ripple, new ItemStack(Items.tungsten, 1)); + new Recipe(weapon, WeaponBlocks.cyclone, new ItemStack(Items.tungsten, 1)); + new Recipe(weapon, WeaponBlocks.spectre, new ItemStack(Items.tungsten, 1)); + new Recipe(weapon, WeaponBlocks.meltdown, new ItemStack(Items.tungsten, 1)); - new Recipe(weapon, WeaponBlocks.wave, new ItemStack(Items.iron, 1)); - new Recipe(weapon, WeaponBlocks.lancer, new ItemStack(Items.iron, 1)); - new Recipe(weapon, WeaponBlocks.arc, new ItemStack(Items.iron, 1)); - new Recipe(weapon, WeaponBlocks.swarmer, new ItemStack(Items.iron, 1)); - new Recipe(weapon, WeaponBlocks.ripple, new ItemStack(Items.iron, 1)); - new Recipe(weapon, WeaponBlocks.fuse, new ItemStack(Items.iron, 1)); - new Recipe(weapon, WeaponBlocks.ripple, new ItemStack(Items.iron, 1)); - new Recipe(weapon, WeaponBlocks.cyclone, new ItemStack(Items.iron, 1)); - new Recipe(weapon, WeaponBlocks.spectre, new ItemStack(Items.iron, 1)); - new Recipe(weapon, WeaponBlocks.meltdown, new ItemStack(Items.iron, 1)); + new Recipe(crafting, CraftingBlocks.alloysmelter, new ItemStack(Items.titanium, 50), new ItemStack(Items.carbide, 50)); + new Recipe(crafting, CraftingBlocks.alloyfuser, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 30)); - new Recipe(crafting, CraftingBlocks.alloysmelter, new ItemStack(Items.titanium, 50), new ItemStack(Items.steel, 50)); - new Recipe(crafting, CraftingBlocks.alloyfuser, new ItemStack(Items.steel, 30), new ItemStack(Items.iron, 30)); + new Recipe(crafting, CraftingBlocks.phaseweaver, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 30)); + new Recipe(crafting, CraftingBlocks.separator, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 30)); + new Recipe(crafting, CraftingBlocks.centrifuge, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 30)); + new Recipe(crafting, CraftingBlocks.siliconsmelter, new ItemStack(Items.carbide, 30), new ItemStack(Items.tungsten, 30)); + new Recipe(crafting, CraftingBlocks.oilRefinery, new ItemStack(Items.carbide, 15), new ItemStack(Items.tungsten, 15)); + new Recipe(crafting, CraftingBlocks.biomatterCompressor, new ItemStack(Items.carbide, 15), new ItemStack(Items.tungsten, 15)); + new Recipe(crafting, CraftingBlocks.plasteelcompressor, new ItemStack(Items.carbide, 30), new ItemStack(Items.titanium, 15)); + new Recipe(crafting, CraftingBlocks.cryofluidmixer, new ItemStack(Items.carbide, 30), new ItemStack(Items.titanium, 15)); + new Recipe(crafting, CraftingBlocks.pulverizer, new ItemStack(Items.carbide, 10), new ItemStack(Items.tungsten, 10)); + new Recipe(crafting, CraftingBlocks.stoneFormer, new ItemStack(Items.carbide, 10), new ItemStack(Items.tungsten, 10)); + new Recipe(crafting, CraftingBlocks.melter, new ItemStack(Items.carbide, 30), new ItemStack(Items.titanium, 15)); + new Recipe(crafting, CraftingBlocks.incinerator, new ItemStack(Items.carbide, 60), new ItemStack(Items.tungsten, 60)); - new Recipe(crafting, CraftingBlocks.phaseweaver, new ItemStack(Items.steel, 30), new ItemStack(Items.iron, 30)); - new Recipe(crafting, CraftingBlocks.separator, new ItemStack(Items.steel, 30), new ItemStack(Items.iron, 30)); - new Recipe(crafting, CraftingBlocks.centrifuge, new ItemStack(Items.steel, 30), new ItemStack(Items.iron, 30)); - new Recipe(crafting, CraftingBlocks.siliconsmelter, new ItemStack(Items.steel, 30), new ItemStack(Items.iron, 30)); - new Recipe(crafting, CraftingBlocks.oilRefinery, new ItemStack(Items.steel, 15), new ItemStack(Items.iron, 15)); - new Recipe(crafting, CraftingBlocks.biomatterCompressor, new ItemStack(Items.steel, 15), new ItemStack(Items.iron, 15)); - new Recipe(crafting, CraftingBlocks.plasteelcompressor, new ItemStack(Items.steel, 30), new ItemStack(Items.titanium, 15)); - new Recipe(crafting, CraftingBlocks.cryofluidmixer, new ItemStack(Items.steel, 30), new ItemStack(Items.titanium, 15)); - new Recipe(crafting, CraftingBlocks.pulverizer, new ItemStack(Items.steel, 10), new ItemStack(Items.iron, 10)); - new Recipe(crafting, CraftingBlocks.stoneFormer, new ItemStack(Items.steel, 10), new ItemStack(Items.iron, 10)); - new Recipe(crafting, CraftingBlocks.melter, new ItemStack(Items.steel, 30), new ItemStack(Items.titanium, 15)); - new Recipe(crafting, CraftingBlocks.incinerator, new ItemStack(Items.steel, 60), new ItemStack(Items.iron, 60)); - - new Recipe(production, ProductionBlocks.ironDrill, new ItemStack(Items.iron, 25)); - new Recipe(production, ProductionBlocks.reinforcedDrill, new ItemStack(Items.iron, 25)); - new Recipe(production, ProductionBlocks.steelDrill, new ItemStack(Items.iron, 25)); - new Recipe(production, ProductionBlocks.titaniumDrill, new ItemStack(Items.iron, 25)); + new Recipe(production, ProductionBlocks.tungstenDrill, new ItemStack(Items.tungsten, 25)); + new Recipe(production, ProductionBlocks.reinforcedDrill, new ItemStack(Items.tungsten, 25)); + new Recipe(production, ProductionBlocks.carbideDrill, new ItemStack(Items.tungsten, 25)); + new Recipe(production, ProductionBlocks.titaniumDrill, new ItemStack(Items.tungsten, 25)); new Recipe(production, ProductionBlocks.laserdrill, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40)); new Recipe(production, ProductionBlocks.nucleardrill, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40)); new Recipe(production, ProductionBlocks.plasmadrill, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40)); @@ -122,56 +152,57 @@ public class Recipes implements ContentList{ new Recipe(production, ProductionBlocks.waterextractor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40)); new Recipe(production, ProductionBlocks.oilextractor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40)); - new Recipe(power, PowerBlocks.powernode, new ItemStack(Items.steel, 3), new ItemStack(Items.iron, 3)); - new Recipe(power, PowerBlocks.powernodelarge, new ItemStack(Items.steel, 3), new ItemStack(Items.iron, 3)); - new Recipe(power, PowerBlocks.battery, new ItemStack(Items.steel, 5), new ItemStack(Items.iron, 5)); - new Recipe(power, PowerBlocks.batteryLarge, new ItemStack(Items.steel, 5), new ItemStack(Items.iron, 5)); - new Recipe(power, PowerBlocks.combustiongenerator, new ItemStack(Items.iron, 1)); - new Recipe(power, PowerBlocks.turbinegenerator, new ItemStack(Items.iron, 1)); - new Recipe(power, PowerBlocks.thermalgenerator, new ItemStack(Items.steel, 1)); - new Recipe(power, PowerBlocks.rtgenerator, new ItemStack(Items.titanium, 1), new ItemStack(Items.steel, 1)); - new Recipe(power, PowerBlocks.solarpanel, new ItemStack(Items.iron, 30), new ItemStack(Items.silicon, 20)); - new Recipe(power, PowerBlocks.largesolarpanel, new ItemStack(Items.iron, 30), new ItemStack(Items.silicon, 20)); - new Recipe(power, PowerBlocks.nuclearReactor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40), new ItemStack(Items.steel, 50)); - new Recipe(power, PowerBlocks.fusionReactor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40), new ItemStack(Items.steel, 50)); + new Recipe(power, PowerBlocks.powernode, new ItemStack(Items.carbide, 3), new ItemStack(Items.tungsten, 3)); + new Recipe(power, PowerBlocks.powernodelarge, new ItemStack(Items.carbide, 3), new ItemStack(Items.tungsten, 3)); + new Recipe(power, PowerBlocks.battery, new ItemStack(Items.carbide, 5), new ItemStack(Items.tungsten, 5)); + new Recipe(power, PowerBlocks.batteryLarge, new ItemStack(Items.carbide, 5), new ItemStack(Items.tungsten, 5)); + new Recipe(power, PowerBlocks.combustiongenerator, new ItemStack(Items.tungsten, 1)); - new Recipe(distribution, PowerBlocks.warpgate, new ItemStack(Items.steel, 1)); + new Recipe(power, PowerBlocks.turbinegenerator, new ItemStack(Items.tungsten, 1)); + new Recipe(power, PowerBlocks.thermalgenerator, new ItemStack(Items.carbide, 1)); + new Recipe(power, PowerBlocks.rtgenerator, new ItemStack(Items.titanium, 1), new ItemStack(Items.carbide, 1)); + new Recipe(power, PowerBlocks.solarpanel, new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 20)); + new Recipe(power, PowerBlocks.largesolarpanel, new ItemStack(Items.tungsten, 30), new ItemStack(Items.silicon, 20)); + new Recipe(power, PowerBlocks.nuclearReactor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40), new ItemStack(Items.carbide, 50)); + new Recipe(power, PowerBlocks.fusionReactor, new ItemStack(Items.titanium, 40), new ItemStack(Items.surgealloy, 40), new ItemStack(Items.carbide, 50)); - new Recipe(liquid, LiquidBlocks.conduit, new ItemStack(Items.steel, 1)); - new Recipe(liquid, LiquidBlocks.pulseconduit, new ItemStack(Items.titanium, 1), new ItemStack(Items.steel, 1)); - new Recipe(liquid, LiquidBlocks.liquidrouter, new ItemStack(Items.steel, 2)); - new Recipe(liquid, LiquidBlocks.liquidtank, new ItemStack(Items.steel, 2)); - new Recipe(liquid, LiquidBlocks.liquidjunction, new ItemStack(Items.steel, 2)); - new Recipe(liquid, LiquidBlocks.bridgeconduit, new ItemStack(Items.titanium, 2), new ItemStack(Items.steel, 2)); - new Recipe(liquid, LiquidBlocks.laserconduit, new ItemStack(Items.titanium, 2), new ItemStack(Items.steel, 2)); + new Recipe(distribution, PowerBlocks.warpgate, new ItemStack(Items.carbide, 1)); - new Recipe(liquid, LiquidBlocks.mechanicalPump, new ItemStack(Items.steel, 10)); - new Recipe(liquid, LiquidBlocks.rotaryPump, new ItemStack(Items.steel, 10), new ItemStack(Items.surgealloy, 5)); - new Recipe(liquid, LiquidBlocks.thermalPump, new ItemStack(Items.steel, 10), new ItemStack(Items.surgealloy, 5)); + new Recipe(liquid, LiquidBlocks.conduit, new ItemStack(Items.carbide, 1)); + new Recipe(liquid, LiquidBlocks.pulseconduit, new ItemStack(Items.titanium, 1), new ItemStack(Items.carbide, 1)); + new Recipe(liquid, LiquidBlocks.liquidrouter, new ItemStack(Items.carbide, 2)); + new Recipe(liquid, LiquidBlocks.liquidtank, new ItemStack(Items.carbide, 2)); + new Recipe(liquid, LiquidBlocks.liquidjunction, new ItemStack(Items.carbide, 2)); + new Recipe(liquid, LiquidBlocks.bridgeconduit, new ItemStack(Items.titanium, 2), new ItemStack(Items.carbide, 2)); + new Recipe(liquid, LiquidBlocks.laserconduit, new ItemStack(Items.titanium, 2), new ItemStack(Items.carbide, 2)); - new Recipe(units, UnitBlocks.repairPoint, new ItemStack(Items.steel, 10)); - new Recipe(units, UnitBlocks.dropPoint, new ItemStack(Items.steel, 10)); - new Recipe(units, UnitBlocks.resupplyPoint, new ItemStack(Items.steel, 10)); + new Recipe(liquid, LiquidBlocks.mechanicalPump, new ItemStack(Items.carbide, 10)); + new Recipe(liquid, LiquidBlocks.rotaryPump, new ItemStack(Items.carbide, 10), new ItemStack(Items.surgealloy, 5)); + new Recipe(liquid, LiquidBlocks.thermalPump, new ItemStack(Items.carbide, 10), new ItemStack(Items.surgealloy, 5)); - new Recipe(units, UnitBlocks.droneFactory, new ItemStack(Items.iron, 50)); - new Recipe(units, UnitBlocks.reconstructor, new ItemStack(Items.iron, 1)); + new Recipe(units, UnitBlocks.repairPoint, new ItemStack(Items.carbide, 10)); + new Recipe(units, UnitBlocks.dropPoint, new ItemStack(Items.carbide, 10)); + new Recipe(units, UnitBlocks.resupplyPoint, new ItemStack(Items.carbide, 10)); - new Recipe(units, UnitBlocks.overdriveProjector, new ItemStack(Items.iron, 1)); - new Recipe(units, UnitBlocks.shieldProjector, new ItemStack(Items.iron, 1)); + new Recipe(units, UnitBlocks.droneFactory, new ItemStack(Items.tungsten, 50)); + new Recipe(units, UnitBlocks.reconstructor, new ItemStack(Items.tungsten, 1)); - new Recipe(units, UpgradeBlocks.omegaFactory, new ItemStack(Items.iron, 1)); - new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.iron, 1)); - new Recipe(units, UpgradeBlocks.tauFactory, new ItemStack(Items.iron, 1)); + new Recipe(units, UnitBlocks.overdriveProjector, new ItemStack(Items.tungsten, 1)); + new Recipe(units, UnitBlocks.shieldProjector, new ItemStack(Items.tungsten, 1)); - new Recipe(units, UpgradeBlocks.tridentFactory, new ItemStack(Items.iron, 1)); - new Recipe(units, UpgradeBlocks.javelinFactory, new ItemStack(Items.iron, 1)); - new Recipe(units, UpgradeBlocks.halberdFactory, new ItemStack(Items.iron, 1)); + new Recipe(units, UpgradeBlocks.omegaFactory, new ItemStack(Items.tungsten, 1)); + new Recipe(units, UpgradeBlocks.deltaFactory, new ItemStack(Items.tungsten, 1)); + new Recipe(units, UpgradeBlocks.tauFactory, new ItemStack(Items.tungsten, 1)); - new Recipe(units, DebugBlocks.itemSource, new ItemStack(Items.steel, 10)).setDebug(); - new Recipe(units, DebugBlocks.itemVoid, new ItemStack(Items.steel, 10)).setDebug(); - new Recipe(units, DebugBlocks.liquidSource, new ItemStack(Items.steel, 10)).setDebug(); - new Recipe(units, DebugBlocks.powerVoid, new ItemStack(Items.steel, 10)).setDebug(); - new Recipe(units, DebugBlocks.powerInfinite, new ItemStack(Items.steel, 10), new ItemStack(Items.surgealloy, 5)).setDebug();*/ + new Recipe(units, UpgradeBlocks.tridentFactory, new ItemStack(Items.tungsten, 1)); + new Recipe(units, UpgradeBlocks.javelinFactory, new ItemStack(Items.tungsten, 1)); + new Recipe(units, UpgradeBlocks.halberdFactory, new ItemStack(Items.tungsten, 1)); + + new Recipe(units, DebugBlocks.itemSource, new ItemStack(Items.carbide, 10)).setDebug(); + new Recipe(units, DebugBlocks.itemVoid, new ItemStack(Items.carbide, 10)).setDebug(); + new Recipe(units, DebugBlocks.liquidSource, new ItemStack(Items.carbide, 10)).setDebug(); + new Recipe(units, DebugBlocks.powerVoid, new ItemStack(Items.carbide, 10)).setDebug(); + new Recipe(units, DebugBlocks.powerInfinite, new ItemStack(Items.carbide, 10), new ItemStack(Items.surgealloy, 5)).setDebug();*/ } @Override diff --git a/core/src/io/anuke/mindustry/content/UnitTypes.java b/core/src/io/anuke/mindustry/content/UnitTypes.java index c342734ee6..ad51a4198e 100644 --- a/core/src/io/anuke/mindustry/content/UnitTypes.java +++ b/core/src/io/anuke/mindustry/content/UnitTypes.java @@ -19,6 +19,7 @@ public class UnitTypes implements ContentList { drag = 0.01f; speed = 0.2f; maxVelocity = 0.8f; + ammoCapacity = 0; range = 50f; }}; diff --git a/core/src/io/anuke/mindustry/content/blocks/Blocks.java b/core/src/io/anuke/mindustry/content/blocks/Blocks.java index 842aad091e..6de4c221ae 100644 --- a/core/src/io/anuke/mindustry/content/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/Blocks.java @@ -101,8 +101,8 @@ public class Blocks extends BlockList implements ContentList{ drops = new ItemStack(Items.stone, 1); }}; - iron = new Ore("iron") {{ - drops = new ItemStack(Items.iron, 1); + iron = new Ore("tungsten") {{ + drops = new ItemStack(Items.tungsten, 1); }}; lead = new Ore("lead") {{ diff --git a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java index e4b3176efa..442e6b7716 100644 --- a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java @@ -17,9 +17,9 @@ public class CraftingBlocks extends BlockList implements ContentList { public void load() { smelter = new Smelter("smelter") {{ health = 70; - inputs = new Item[]{Items.iron}; + inputs = new Item[]{Items.tungsten}; fuel = Items.coal; - result = Items.steel; + result = Items.carbide; craftTime = 35f; useFlux = true; }}; @@ -27,8 +27,8 @@ public class CraftingBlocks extends BlockList implements ContentList { arcsmelter = new PowerSmelter("arc-smelter") {{ health = 90; craftEffect = BlockFx.smeltsmoke; - inputs = new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.iron, 1)}; - result = Items.steel; + inputs = new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.tungsten, 1)}; + result = Items.carbide; powerUse = 0.1f; craftTime = 25f; size = 2; @@ -51,7 +51,7 @@ public class CraftingBlocks extends BlockList implements ContentList { plasteelcompressor = new PlasteelCompressor("plasteel-compressor") {{ inputLiquid = Liquids.oil; - inputItem = new ItemStack(Items.steel, 1); + inputItem = new ItemStack(Items.carbide, 1); liquidUse = 0.3f; liquidCapacity = 60f; powerUse = 0.5f; @@ -130,7 +130,7 @@ public class CraftingBlocks extends BlockList implements ContentList { null, null, null, null, null, null, null, null, null, null, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, 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.tungsten, Items.tungsten, Items.tungsten, Items.tungsten, Items.lead, Items.lead, Items.coal, Items.coal, Items.titanium @@ -148,7 +148,7 @@ public class CraftingBlocks extends BlockList implements ContentList { null, null, null, null, null, null, null, null, null, null, null, null, null, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.sand, Items.stone, Items.stone, 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.iron, + Items.tungsten, Items.tungsten, Items.tungsten, Items.tungsten, Items.tungsten, Items.lead, Items.lead, Items.lead, Items.coal, Items.coal, Items.coal, Items.titanium, Items.titanium, diff --git a/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java index f2efce25f0..ae72015fc2 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DefenseBlocks.java @@ -9,46 +9,37 @@ import io.anuke.mindustry.world.blocks.defense.Door; import io.anuke.mindustry.world.blocks.defense.PhaseWall; public class DefenseBlocks extends BlockList implements ContentList { - public static Block ironwall, ironwalllarge, steelwall, titaniumwall, diriumwall, steelwalllarge, titaniumwalllarge, diriumwalllarge, door, largedoor, deflectorwall, deflectorwalllarge, + public static Block tungstenWall, tungstenWallLarge, carbideWall, carbideWallLarge, thoriumWall, thoriumWallLarge, door, largedoor, deflectorwall, deflectorwalllarge, phasewall, phasewalllarge; @Override public void load() { int wallHealthMultiplier = 4; - ironwall = new Wall("ironwall") {{ + tungstenWall = new Wall("tungsten-wall") {{ health = 80 * wallHealthMultiplier; }}; - ironwalllarge = new Wall("ironwall-large") {{ + tungstenWallLarge = new Wall("tungsten-wall-large") {{ health = 80 * 4 * wallHealthMultiplier; size = 2; }}; - steelwall = new Wall("steelwall") {{ + carbideWall = new Wall("carbide-wall") {{ health = 110 * wallHealthMultiplier; }}; - titaniumwall = new Wall("titaniumwall") {{ - health = 150 * wallHealthMultiplier; - }}; - - diriumwall = new Wall("duriumwall") {{ - health = 190 * wallHealthMultiplier; - }}; - - steelwalllarge = new Wall("steelwall-large") {{ - health = 110 * 4 * wallHealthMultiplier; + carbideWallLarge = new Wall("carbide-wall-large") {{ + health = 110 * wallHealthMultiplier*4; size = 2; }}; - titaniumwalllarge = new Wall("titaniumwall-large") {{ - health = 150 * 4 * wallHealthMultiplier; - size = 2; + thoriumWall = new Wall("thorium-wall") {{ + health = 110 * wallHealthMultiplier; }}; - diriumwalllarge = new Wall("duriumwall-large") {{ - health = 190 * 4 * wallHealthMultiplier; + thoriumWallLarge = new Wall("thorium-wall-large") {{ + health = 110 * wallHealthMultiplier*4; size = 2; }}; diff --git a/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java b/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java index 8284b3ac5d..e3dcee6d8e 100644 --- a/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/ProductionBlocks.java @@ -12,41 +12,31 @@ import io.anuke.mindustry.world.blocks.production.Fracker; import io.anuke.mindustry.world.blocks.production.SolidPump; public class ProductionBlocks extends BlockList implements ContentList { - public static Block ironDrill, reinforcedDrill, steelDrill, titaniumDrill, laserdrill, nucleardrill, plasmadrill, waterextractor, oilextractor, cultivator; + public static Block tungstenDrill, carbideDrill, laserdrill, blastdrill, plasmadrill, waterextractor, oilextractor, cultivator; @Override public void load() { - ironDrill = new Drill("irondrill") {{ - tier = 1; + tungstenDrill = new Drill("tungsten-drill") {{ + tier = 2; drillTime = 360; }}; - reinforcedDrill = new Drill("reinforceddrill") {{ - tier = 2; - drillTime = 320; - }}; - - steelDrill = new Drill("steeldrill") {{ + carbideDrill = new Drill("carbide-drill") {{ tier = 3; drillTime = 280; }}; - titaniumDrill = new Drill("titaniumdrill") {{ - tier = 4; - drillTime = 240; - }}; - - laserdrill = new Drill("laserdrill") {{ + laserdrill = new Drill("laser-drill") {{ drillTime = 180; size = 2; powerUse = 0.2f; hasPower = true; - tier = 5; + tier = 4; updateEffect = BlockFx.pulverizeMedium; drillEffect = BlockFx.mineBig; }}; - nucleardrill = new Drill("nucleardrill") {{ + blastdrill = new Drill("blast-drill") {{ drillTime = 120; size = 3; powerUse = 0.5f; @@ -60,7 +50,7 @@ public class ProductionBlocks extends BlockList implements ContentList { warmupSpeed = 0.01f; }}; - plasmadrill = new Drill("plasmadrill") {{ + plasmadrill = new Drill("plasma-drill") {{ heatColor = Color.valueOf("ff461b"); drillTime = 90; size = 4; @@ -76,7 +66,7 @@ public class ProductionBlocks extends BlockList implements ContentList { warmupSpeed = 0.005f; }}; - waterextractor = new SolidPump("waterextractor") {{ + waterextractor = new SolidPump("water-extractor") {{ result = Liquids.water; powerUse = 0.2f; pumpAmount = 0.1f; @@ -85,7 +75,7 @@ public class ProductionBlocks extends BlockList implements ContentList { rotateSpeed = 1.4f; }}; - oilextractor = new Fracker("oilextractor") {{ + oilextractor = new Fracker("oil-extractor") {{ result = Liquids.oil; inputLiquid = Liquids.water; updateEffect = BlockFx.pulverize; diff --git a/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java b/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java index 439d17618c..3cdc75ae29 100644 --- a/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/UnitBlocks.java @@ -17,7 +17,7 @@ public class UnitBlocks extends BlockList implements ContentList { produceTime = 300; size = 2; requirements = new ItemStack[]{ - new ItemStack(Items.iron, 20) + new ItemStack(Items.tungsten, 20) }; }}; diff --git a/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java b/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java index 94a0480bf7..8f067f317b 100644 --- a/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/WeaponBlocks.java @@ -13,7 +13,7 @@ import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Strings; public class WeaponBlocks extends BlockList implements ContentList { - public static Block duo, scatter, scorch, hail, wave, lancer, arc, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown; + public static Block duo, /*scatter,*/ scorch, hail, wave, lancer, arc, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown; @Override public void load() { @@ -23,7 +23,7 @@ public class WeaponBlocks extends BlockList implements ContentList { restitution = 0.03f; ammoUseEffect = ShootFx.shellEjectSmall; }}; - +/* scatter = new BurstTurret("scatter") {{ ammoTypes = new AmmoType[]{AmmoTypes.flakLead, AmmoTypes.flakExplosive, AmmoTypes.flakPlastic}; ammoPerShot = 1; @@ -34,23 +34,23 @@ public class WeaponBlocks extends BlockList implements ContentList { burstSpacing = 1f; inaccuracy = 7f; ammoUseEffect = ShootFx.shellEjectSmall; - }}; - - scorch = new LiquidTurret("scorch") {{ - ammoTypes = new AmmoType[]{AmmoTypes.basicFlame}; - recoil = 0f; - reload = 5f; - shootCone = 50f; - ammoUseEffect = ShootFx.shellEjectSmall; - - drawer = (tile, entity) -> Draw.rect(entity.target != null ? name + "-shoot" : name, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); - }}; + }};*/ hail = new ItemTurret("hail") {{ ammoTypes = new AmmoType[]{AmmoTypes.artilleryLead, AmmoTypes.artilleryHoming, AmmoTypes.artilleryIncindiary}; reload = 40f; }}; + scorch = new LiquidTurret("scorch") {{ + ammoTypes = new AmmoType[]{AmmoTypes.basicFlame}; + recoil = 0f; + reload = 5f; + shootCone = 50f; + ammoUseEffect = ShootFx.shellEjectSmall; + + drawer = (tile, entity) -> Draw.rect(entity.target != null ? name + "-shoot" : name, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); + }}; + wave = new LiquidTurret("wave") {{ ammoTypes = new AmmoType[]{AmmoTypes.water, AmmoTypes.lava, AmmoTypes.cryofluid, AmmoTypes.oil}; size = 2; diff --git a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java index 5ee60e29b8..5e6ba2fbb7 100644 --- a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java @@ -74,7 +74,7 @@ public class TurretBullets extends BulletList implements ContentList { } }; - basicFlame = new BulletType(2f, 0) { + basicFlame = new BulletType(2f, 5) { { hitsize = 7f; lifetime = 30f; diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index e45a2f9ffd..3977b3d1bb 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -353,7 +353,7 @@ public class Control extends Module{ } //check unlocks every 2 seconds - if(Timers.get("timerCheckUnlock", 120)){ + if(!state.mode.infiniteResources && !state.mode.disableWaveTimer && Timers.get("timerCheckUnlock", 120)){ checkUnlockableBlocks(); //save if the db changed diff --git a/core/src/io/anuke/mindustry/core/Logic.java b/core/src/io/anuke/mindustry/core/Logic.java index 64860d2d16..50e1c7d199 100644 --- a/core/src/io/anuke/mindustry/core/Logic.java +++ b/core/src/io/anuke/mindustry/core/Logic.java @@ -57,7 +57,8 @@ public class Logic extends Module { } } }else{ - tile.entity.items.addItem(Items.iron, 100); + tile.entity.items.addItem(Items.tungsten, 50); + tile.entity.items.addItem(Items.lead, 20); } } } diff --git a/core/src/io/anuke/mindustry/core/World.java b/core/src/io/anuke/mindustry/core/World.java index 4680cddbd0..2e7f5a695b 100644 --- a/core/src/io/anuke/mindustry/core/World.java +++ b/core/src/io/anuke/mindustry/core/World.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.io.MapIO; import io.anuke.mindustry.io.Maps; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.WorldGenerator; +import io.anuke.mindustry.world.mapgen.WorldGenerator; import io.anuke.ucore.core.Events; import io.anuke.ucore.entities.EntityPhysics; import io.anuke.ucore.modules.Module; diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 17f9f4c040..7104ef873f 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -2,6 +2,7 @@ package io.anuke.mindustry.entities; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.GlyphLayout; +import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Pools; import com.badlogic.gdx.utils.Queue; @@ -87,6 +88,12 @@ public class Player extends Unit implements BuilderTrait, CarryTrait { //region unit and event overrides, utility methods + + @Override + public TextureRegion getIconRegion() { + return mech.iconRegion; + } + @Override public int getItemCapacity() { return mech.itemCapacity; diff --git a/core/src/io/anuke/mindustry/entities/Unit.java b/core/src/io/anuke/mindustry/entities/Unit.java index 968b52eef6..778a7fb572 100644 --- a/core/src/io/anuke/mindustry/entities/Unit.java +++ b/core/src/io/anuke/mindustry/entities/Unit.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.entities; +import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.math.Vector2; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.traits.*; @@ -287,6 +288,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ return false; } + public abstract TextureRegion getIconRegion(); public abstract int getItemCapacity(); public abstract int getAmmoCapacity(); public abstract float getArmor(); diff --git a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java index c8eaebc72f..c472e7082a 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java +++ b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java @@ -9,6 +9,8 @@ import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.net.In; import io.anuke.mindustry.type.Item; +import io.anuke.mindustry.world.Tile; +import io.anuke.ucore.core.Timers; import io.anuke.ucore.entities.EntityGroup; import io.anuke.ucore.entities.impl.TimedEntity; import io.anuke.ucore.entities.trait.DrawTrait; @@ -42,6 +44,14 @@ public class ItemTransfer extends TimedEntity implements DrawTrait{ create(item, x, y, to, () -> {}); } + @Remote(in = In.entities, called = Loc.server) + public static void transferItemTo(Item item, int amount, float x, float y, Tile tile){ + for (int i = 0; i < Mathf.clamp(amount/3, 1, 8); i++) { + Timers.run(i*3, () -> create(item, x, y, tile, () -> {})); + } + tile.entity.items.addItem(item, amount); + } + public static void create(Item item, float fromx, float fromy, PosTrait to, Callable done){ ItemTransfer tr = Pools.obtain(ItemTransfer.class); tr.item = item; diff --git a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java index 2ebabc36b3..e3e4e7cff2 100644 --- a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java @@ -197,7 +197,9 @@ public interface BuilderTrait { BuildEntity entity = tile.entity(); entity.addProgress(core.items, 1f / entity.recipe.cost * Timers.delta() * getBuildPower(tile)); - entity.lastBuilder = (Player)unit; + if(unit instanceof Player){ + entity.lastBuilder = (Player)unit; + } unit.rotation = Mathf.slerpDelta(unit.rotation, unit.angleTo(entity), 0.4f); getCurrentRequest().progress = entity.progress(); } @@ -230,7 +232,7 @@ public interface BuilderTrait { } } - /**Draw placement effects for an entity.*/ + /**Draw placement effects for an entity. This includes mining*/ default void drawBuilding(Unit unit){ if(!isBuilding()){ if(getMineTile() != null){ @@ -294,8 +296,11 @@ public interface BuilderTrait { Draw.color(Color.LIGHT_GRAY, Color.WHITE, 1f-flashScl + Mathf.absin(Timers.time(), 0.5f, flashScl)); Shapes.laser("minelaser", "minelaser-end", px, py, ex, ey); - Draw.color(Palette.accent); - Lines.poly(tile.worldx(), tile.worldy(), 4, tilesize/2f * Mathf.sqrt2, Timers.time()); + if(unit instanceof Player && ((Player) unit).isLocal) { + Draw.color(Palette.accent); + Lines.poly(tile.worldx(), tile.worldy(), 4, tilesize / 2f * Mathf.sqrt2, Timers.time()); + } + Draw.color(); } diff --git a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java index 9175ac63b6..5726f1042e 100644 --- a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.entities.units; +import com.badlogic.gdx.graphics.g2d.TextureRegion; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.fx.ExplosionFx; @@ -19,6 +20,7 @@ import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Timers; import io.anuke.ucore.entities.EntityGroup; +import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.util.Angles; import io.anuke.ucore.util.Geometry; import io.anuke.ucore.util.Mathf; @@ -49,6 +51,10 @@ public abstract class BaseUnit extends Unit{ this.team = team; } + public UnitType getType() { + return type; + } + /**internal constructor used for deserialization, DO NOT USE*/ public BaseUnit(){} @@ -121,6 +127,11 @@ public abstract class BaseUnit extends Unit{ return null; } + @Override + public TextureRegion getIconRegion() { + return Draw.region(type.name); + } + @Override public int getItemCapacity() { return type.itemCapacity; diff --git a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java index 2b5cb2dcec..59c8db0007 100644 --- a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java @@ -7,14 +7,12 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Trail; import io.anuke.mindustry.type.AmmoType; +import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Translator; +import io.anuke.ucore.util.*; import static io.anuke.mindustry.Vars.world; @@ -54,7 +52,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ public void update() { super.update(); - rotation = velocity.angle(); + updateRotation(); trail.update(x + Angles.trnsx(rotation + 180f, 6f) + Mathf.range(wobblyness), y + Angles.trnsy(rotation + 180f, 6f) + Mathf.range(wobblyness)); } @@ -65,6 +63,21 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ Draw.rect(type.name, x, y, rotation - 90); + float backTrns = 4f, itemSize = 5f; + if(inventory.hasItem()){ + ItemStack stack = inventory.getItem(); + int stored = Mathf.clamp(stack.amount / 6, 1, 8); + + for(int i = 0; i < stored; i ++) { + float angT = i == 0 ? 0 : Mathf.randomSeedRange(i + 2, 60f); + float lenT = i == 0 ? 0 : Mathf.randomSeedRange(i + 3, 1f) - 1f; + Draw.rect(stack.item.region, + x + Angles.trnsx(rotation + 180f + angT, backTrns + lenT), + y + Angles.trnsy(rotation + 180f + angT, backTrns + lenT), + itemSize, itemSize, rotation); + } + } + Draw.alpha(1f); } @@ -107,14 +120,37 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ dropCarry(); } + protected void updateRotation(){ + rotation = velocity.angle(); + } + protected void circle(float circleLength){ + circle(circleLength, type.speed); + } + + protected void circle(float circleLength, float speed){ + if(target == null) return; + vec.set(target.getX() - x, target.getY() - y); if(vec.len() < circleLength){ vec.rotate((circleLength-vec.len())/circleLength * 180f); } - vec.setLength(type.speed * Timers.delta()); + vec.setLength(speed * Timers.delta()); + + velocity.add(vec); + } + + protected void moveTo(float circleLength){ + if(target == null) return; + + vec.set(target.getX() - x, target.getY() - y); + + float length = Mathf.clamp((distanceTo(target) - circleLength)/100f, -1f, 1f); + + vec.setLength(type.speed * Timers.delta() * length); + if(length < 0) vec.rotate(180f); velocity.add(vec); } diff --git a/core/src/io/anuke/mindustry/entities/units/UnitDrops.java b/core/src/io/anuke/mindustry/entities/units/UnitDrops.java index 04df3cef10..56490e1592 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitDrops.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitDrops.java @@ -10,7 +10,7 @@ public class UnitDrops { public static void dropItems(BaseUnit unit){ if(dropTable == null){ - dropTable = new Item[]{Items.iron, Items.lead, Items.steel}; + dropTable = new Item[]{Items.tungsten, Items.lead, Items.carbide}; } for(Item item : dropTable){ diff --git a/core/src/io/anuke/mindustry/entities/units/UnitType.java b/core/src/io/anuke/mindustry/entities/units/UnitType.java index 8d68575061..afaf647075 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitType.java @@ -32,7 +32,8 @@ public class UnitType { public float armor = 0f; public float carryWeight = 1f; public int ammoCapacity = 100; - public int itemCapacity = 100; + public int itemCapacity = 30; + public int mineLevel = 2; public ObjectMap ammo = new ObjectMap<>(); public UnitType(String name, UnitCreator creator){ diff --git a/core/src/io/anuke/mindustry/entities/units/types/Drone.java b/core/src/io/anuke/mindustry/entities/units/types/Drone.java index 2064f3d8c4..8a365465c0 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Drone.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Drone.java @@ -12,7 +12,9 @@ import io.anuke.mindustry.entities.units.UnitState; import io.anuke.mindustry.entities.units.UnitType; import io.anuke.mindustry.game.EventType.BlockBuildEvent; import io.anuke.mindustry.game.Team; +import io.anuke.mindustry.gen.CallEntity; import io.anuke.mindustry.graphics.Palette; +import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; @@ -22,10 +24,7 @@ import io.anuke.ucore.core.Timers; import io.anuke.ucore.entities.EntityGroup; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Shapes; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.ThreadQueue; +import io.anuke.ucore.util.*; import static io.anuke.mindustry.Vars.unitGroups; import static io.anuke.mindustry.Vars.world; @@ -33,16 +32,22 @@ import static io.anuke.mindustry.Vars.world; public class Drone extends FlyingUnit implements BuilderTrait { public static int typeID = -1; + protected static Item[] toMine; protected static float healSpeed = 0.1f; protected static float discoverRange = 120f; protected static boolean initialized; + protected Item targetItem; protected Tile mineTile; protected Queue placeQueue = new ThreadQueue<>(); /**Initialize placement event notifier system. * Static initialization is to be avoided, thus, this is done lazily.*/ private static void initEvents(){ + if(initialized) return; + + toMine = new Item[]{Items.lead, Items.tungsten}; + Events.on(BlockBuildEvent.class, (team, tile) -> { EntityGroup group = unitGroups[team.ordinal()]; @@ -57,17 +62,15 @@ public class Drone extends FlyingUnit implements BuilderTrait { }); } + { + initEvents(); + } + public Drone(UnitType type, Team team) { super(type, team); - - if(!initialized){ - initEvents(); - initialized = true; - } } public Drone(){ - } private void notifyPlaced(BuildEntity entity){ @@ -107,24 +110,25 @@ public class Drone extends FlyingUnit implements BuilderTrait { @Override public void update() { - float rot = rotation; super.update(); - rotation = rot; - - if(target != null && state.is(repair)){ - rotation = Mathf.slerpDelta(rot, angleTo(target), 0.3f); - }else{ - rotation = Mathf.slerpDelta(rot, velocity.angle(), 0.3f); - } x += Mathf.sin(Timers.time() + id * 999, 25f, 0.07f); y += Mathf.cos(Timers.time() + id * 999, 25f, 0.07f); + updateBuilding(this); + } + + @Override + protected void updateRotation() { + if(target != null && (state.is(repair) || state.is(mine))){ + rotation = Mathf.slerpDelta(rotation, angleTo(target), 0.3f); + }else{ + rotation = Mathf.slerpDelta(rotation, velocity.angle(), 0.3f); + } + if(velocity.len() <= 0.2f && !(state.is(repair) && target != null)){ rotation += Mathf.sin(Timers.time() + id * 99, 10f, 5f); } - - updateBuilding(this); } @Override @@ -162,6 +166,14 @@ public class Drone extends FlyingUnit implements BuilderTrait { return isBuilding() ? placeDistance*2f : 30f; } + protected void findItem(){ + TileEntity entity = getClosestCore(); + if(entity == null){ + return; + } + targetItem = Mathf.findMin(toMine, (a, b) -> -Integer.compare(entity.items.getItem(a), entity.items.getItem(b))); + } + public final UnitState build = new UnitState(){ @@ -211,19 +223,66 @@ public class Drone extends FlyingUnit implements BuilderTrait { } }, mine = new UnitState() { + public void entered() { + setMineTile(null); + } + public void update() { + if(targetItem == null) { + findItem(); + } + //if inventory is full, drop it off. if(inventory.isFull()){ setState(drop); }else{ - //only mines iron for now - retarget(() -> target = Geometry.findClosest(x, y, world.indexer().getOrePositions(Items.iron))); + //only mines tungsten for now + retarget(() -> { + if(getMineTile() == null){ + findItem(); + } + + if(targetItem == null) return; + + target = world.indexer().findClosestOre(x, y, targetItem); + }); + + if(target != null) { + moveTo(type.range/1.5f); + + if (distanceTo(target) < type.range) { + setMineTile((Tile)target); + } + } } } + + public void exited() { + setMineTile(null); + } }, drop = new UnitState() { - public void update() { + public void update() { + if(inventory.isEmpty()){ + setState(mine); + return; + } + + target = getClosestCore(); + + if(target == null) return; + + TileEntity tile = (TileEntity)target; + + if(distanceTo(target) < type.range + && tile.tile.block().acceptStack(inventory.getItem().item, inventory.getItem().amount, tile.tile, Drone.this) == inventory.getItem().amount){ + CallEntity.transferItemTo(inventory.getItem().item, inventory.getItem().amount, x, y, tile.tile); + inventory.clearItem(); + setState(repair); + } + + circle(type.range/1.8f); } }, retreat = new UnitState() { diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LevelDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LevelDialog.java index e7c6e38abb..e287db1bc5 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LevelDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LevelDialog.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.io.Map; import io.anuke.mindustry.io.MapMeta; import io.anuke.mindustry.io.MapTileData; import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.WorldGenerator; +import io.anuke.mindustry.world.mapgen.WorldGenerator; import io.anuke.mindustry.world.mapgen.ProcGen; import io.anuke.ucore.core.Settings; import io.anuke.ucore.core.Timers; @@ -145,7 +145,7 @@ public class LevelDialog extends FloatingDialog{ EntityPhysics.resizeTree(0, 0, width * tilesize, height * tilesize); - WorldGenerator.generate(tiles, data, true, 0); + WorldGenerator.generate(tiles, data, true, Mathf.random(9999999)); world.endMapLoad(); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index 1d6b43ea4d..a45d4252e4 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -111,13 +111,6 @@ public class BlockInventoryFragment implements Fragment { image.tapped(() -> { if(!canPick.get() || items[f] == 0) return; int amount = Math.min(Inputs.keyDown("item_withdraw") ? items[f] : 1, player.inventory.itemCapacityUsed(item)); - - /* tile.block().removeStack(tile, item, amount); - - player.inventory.addItem(item, amount); - for(int j = 0; j < Mathf.clamp(amount/3, 1, 8); j ++){ - Timers.run(j*3f, () -> ItemTransfer.create(item, tile.drawx(), tile.drawy(), player, () -> {})); - }*/ CallBlocks.requestItem(player, tile, item, amount); }); diff --git a/core/src/io/anuke/mindustry/world/ColorMapper.java b/core/src/io/anuke/mindustry/world/ColorMapper.java index 50d67046db..1b82253031 100644 --- a/core/src/io/anuke/mindustry/world/ColorMapper.java +++ b/core/src/io/anuke/mindustry/world/ColorMapper.java @@ -33,7 +33,7 @@ public class ColorMapper{ "6e501e", pair(Blocks.dirt), "ed5334", pair(Blocks.lava), "292929", pair(Blocks.oil), - "c3a490", pair(Blocks.iron), + "a0b0c8", pair(Blocks.iron), "161616", pair(Blocks.coal), "6277bc", pair(Blocks.titanium), "c594dc", pair(Blocks.thorium), diff --git a/core/src/io/anuke/mindustry/world/Tile.java b/core/src/io/anuke/mindustry/world/Tile.java index 0f42579545..8009e0b98a 100644 --- a/core/src/io/anuke/mindustry/world/Tile.java +++ b/core/src/io/anuke/mindustry/world/Tile.java @@ -140,6 +140,10 @@ public class Tile implements PosTrait, TargetTrait { return Team.values()[team]; } + public byte getTeamID(){ + return team; + } + public void setTeam(Team team){ this.team = (byte)team.ordinal(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java index d4bb6e280f..29d4324f3f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java @@ -115,7 +115,7 @@ public class Sorter extends Block implements SelectionTrait{ } public static class SorterEntity extends TileEntity{ - public Item sortItem = Items.iron; + public Item sortItem = Items.tungsten; @Override public void write(DataOutputStream stream) throws IOException{ diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java index 4a108a9488..763305f372 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java @@ -5,11 +5,14 @@ import com.badlogic.gdx.math.Rectangle; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; +import io.anuke.mindustry.content.UnitTypes; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.Units; +import io.anuke.mindustry.entities.units.BaseUnit; +import io.anuke.mindustry.entities.units.UnitType; import io.anuke.mindustry.gen.CallBlocks; import io.anuke.mindustry.gen.CallEntity; import io.anuke.mindustry.graphics.Palette; @@ -32,8 +35,7 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import static io.anuke.mindustry.Vars.debug; -import static io.anuke.mindustry.Vars.state; +import static io.anuke.mindustry.Vars.*; public class CoreBlock extends StorageBlock { private static Rectangle rect = new Rectangle(); @@ -42,6 +44,7 @@ public class CoreBlock extends StorageBlock { protected float supplyRadius = 50f; protected float supplyInterval = 5f; + protected UnitType droneType = UnitTypes.drone; public CoreBlock(String name) { super(name); @@ -71,10 +74,10 @@ public class CoreBlock extends StorageBlock { Draw.rect(name + "-top", tile.drawx(), tile.drawy()); Draw.color(); - if(entity.currentPlayer != null) { - Player player = entity.currentPlayer; + if(entity.currentUnit != null) { + Unit player = entity.currentUnit; - TextureRegion region = player.mech.iconRegion; + TextureRegion region = player.getIconRegion(); Shaders.build.region = region; Shaders.build.progress = entity.progress; @@ -149,7 +152,7 @@ public class CoreBlock extends StorageBlock { CallBlocks.setCoreSolid(tile, true); } - if(entity.currentPlayer != null){ + if(entity.currentUnit != null){ entity.heat = Mathf.lerpDelta(entity.heat, 1f, 0.1f); entity.time += Timers.delta(); entity.progress += 1f / Vars.respawnduration; @@ -160,9 +163,31 @@ public class CoreBlock extends StorageBlock { } if(entity.progress >= 1f){ - CallBlocks.onPlayerRespawn(tile, entity.currentPlayer); + CallBlocks.onUnitRespawn(tile, entity.currentUnit); } }else{ + entity.warmup += Timers.delta(); + + if(entity.solid && entity.warmup > 10f && unitGroups[tile.getTeamID()].getByID(entity.droneID) == null && !Net.client()){ + + boolean found = false; + for(BaseUnit unit : unitGroups[tile.getTeamID()].all()){ + if(unit.getType().id == droneType.id){ + entity.droneID = unit.id; + found = true; + break; + } + } + + if(!found) { + + BaseUnit unit = droneType.create(tile.getTeam()); + entity.droneID = unit.id; + unit.setDead(true); + CallBlocks.onCoreUnitSet(tile, unit); + } + } + entity.heat = Mathf.lerpDelta(entity.heat, 0f, 0.1f); } @@ -191,27 +216,34 @@ public class CoreBlock extends StorageBlock { } @Remote(called = Loc.server, in = In.blocks) - public static void onPlayerRespawn(Tile tile, Player player){ + public static void onUnitRespawn(Tile tile, Unit player){ CoreEntity entity = tile.entity(); Effects.effect(Fx.spawn, entity); entity.solid = false; entity.progress = 0; - entity.currentPlayer = player; - entity.currentPlayer.heal(); - entity.currentPlayer.rotation = 90f; - entity.currentPlayer.baseRotation = 90f; - entity.currentPlayer.setNet(tile.drawx(), tile.drawy()); - entity.currentPlayer.add(); - entity.currentPlayer = null; + entity.currentUnit = player; + entity.currentUnit.heal(); + entity.currentUnit.rotation = 90f; + entity.currentUnit.setNet(tile.drawx(), tile.drawy()); + entity.currentUnit.add(); + + if(entity.currentUnit instanceof Player){ + ((Player) entity.currentUnit).baseRotation = 90f; + } + + entity.currentUnit = null; } @Remote(called = Loc.server, in = In.blocks) - public static void onCorePlayerSet(Tile tile, Player player){ + public static void onCoreUnitSet(Tile tile, Unit player){ CoreEntity entity = tile.entity(); - entity.currentPlayer = player; + entity.currentUnit = player; entity.progress = 0f; player.set(tile.drawx(), tile.drawy()); - player.setRespawning(); + + if(player instanceof Player){ + ((Player) player).setRespawning(true); + } } @Remote(called = Loc.server, in = In.blocks) @@ -221,26 +253,30 @@ public class CoreBlock extends StorageBlock { } public class CoreEntity extends TileEntity{ - Player currentPlayer; + Unit currentUnit; + int droneID = -1; boolean solid = true; + float warmup; float progress; float time; float heat; public void trySetPlayer(Player player){ - if(currentPlayer == null){ - CallBlocks.onCorePlayerSet(tile, player); + if(currentUnit == null){ + CallBlocks.onCoreUnitSet(tile, player); } } @Override public void write(DataOutputStream stream) throws IOException { stream.writeBoolean(solid); + stream.writeInt(droneID); } @Override public void read(DataInputStream stream) throws IOException { solid = stream.readBoolean(); + droneID = stream.readInt(); } } } diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java b/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java index 033191c131..7d65048455 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java @@ -73,7 +73,7 @@ public class SortedUnloader extends Unloader implements SelectionTrait{ } public static class SortedUnloaderEntity extends TileEntity{ - public Item sortItem = Items.iron; + public Item sortItem = Items.tungsten; @Override public void write(DataOutputStream stream) throws IOException { diff --git a/core/src/io/anuke/mindustry/world/mapgen/ProcGen.java b/core/src/io/anuke/mindustry/world/mapgen/ProcGen.java index 5826fee28f..d231b99f1f 100644 --- a/core/src/io/anuke/mindustry/world/mapgen/ProcGen.java +++ b/core/src/io/anuke/mindustry/world/mapgen/ProcGen.java @@ -7,20 +7,17 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.io.MapTileData; import io.anuke.mindustry.io.MapTileData.DataPosition; import io.anuke.mindustry.io.MapTileData.TileDataMarker; -import io.anuke.ucore.noise.RidgedPerlin; import io.anuke.ucore.noise.Simplex; import io.anuke.ucore.util.Bits; import io.anuke.ucore.util.Mathf; public class ProcGen { - private RidgedPerlin rid = new RidgedPerlin(1, 1); private Simplex sim = new Simplex(); private Simplex sim2 = new Simplex(); public MapTileData generate(GenProperties props){ - sim.setSeed(Mathf.random(9999)); - sim2.setSeed(Mathf.random(9999)); - rid = new RidgedPerlin(Mathf.random(9999), 1); + sim.setSeed(Mathf.random(99999)); + sim2.setSeed(Mathf.random(99999)); MapTileData data = new MapTileData(300, 300); TileDataMarker marker = data.newDataMarker(); diff --git a/core/src/io/anuke/mindustry/world/WorldGenerator.java b/core/src/io/anuke/mindustry/world/mapgen/WorldGenerator.java similarity index 90% rename from core/src/io/anuke/mindustry/world/WorldGenerator.java rename to core/src/io/anuke/mindustry/world/mapgen/WorldGenerator.java index dbce8f0c4f..085e3cff43 100644 --- a/core/src/io/anuke/mindustry/world/WorldGenerator.java +++ b/core/src/io/anuke/mindustry/world/mapgen/WorldGenerator.java @@ -1,4 +1,4 @@ -package io.anuke.mindustry.world; +package io.anuke.mindustry.world.mapgen; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.IntArray; @@ -7,6 +7,8 @@ import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.io.MapTileData; import io.anuke.mindustry.io.MapTileData.TileDataMarker; +import io.anuke.mindustry.world.Block; +import io.anuke.mindustry.world.Tile; import io.anuke.ucore.noise.RidgedPerlin; import io.anuke.ucore.noise.Simplex; @@ -22,11 +24,11 @@ public class WorldGenerator { oreIndex = 0; Array ores = Array.with( - new OreEntry(Blocks.iron, 0.3f, seed), - new OreEntry(Blocks.coal, 0.284f, seed), - new OreEntry(Blocks.lead, 0.28f, seed), - new OreEntry(Blocks.titanium, 0.27f, seed), - new OreEntry(Blocks.thorium, 0.26f, seed) + new OreEntry(Blocks.iron, 0.3f, seed), + new OreEntry(Blocks.coal, 0.284f, seed), + new OreEntry(Blocks.lead, 0.28f, seed), + new OreEntry(Blocks.titanium, 0.27f, seed), + new OreEntry(Blocks.thorium, 0.26f, seed) ); IntArray multiblocks = new IntArray();