diff --git a/core/assets-raw/sprites/blocks/liquid/rotary-pump.png b/core/assets-raw/sprites/blocks/liquid/rotary-pump.png index 10a877f3ae..1c848f5161 100644 Binary files a/core/assets-raw/sprites/blocks/liquid/rotary-pump.png and b/core/assets-raw/sprites/blocks/liquid/rotary-pump.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/thermal-pump.png b/core/assets-raw/sprites/blocks/liquid/thermal-pump.png index 786b6861d5..1dc95b52bb 100644 Binary files a/core/assets-raw/sprites/blocks/liquid/thermal-pump.png and b/core/assets-raw/sprites/blocks/liquid/thermal-pump.png differ diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index e86a6f86fc..595749e1b8 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -525,6 +525,7 @@ block.nuclear-reactor.name=Nuclear Reactor block.command-center.name=Command Center block.mass-driver.name=Mass Driver block.blast-drill.name=Blast Drill +block.thermal-pump.name=Thermal Pump unit.drone.name=Drone unit.drone.description=The starter drone unit. Spawns in the core by default. Automatically mines ores, collects items and repairs blocks. diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index c3482cc98c..8f5c8650dd 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/content/Recipes.java b/core/src/io/anuke/mindustry/content/Recipes.java index 1e5dc34410..c3194bc9ab 100644 --- a/core/src/io/anuke/mindustry/content/Recipes.java +++ b/core/src/io/anuke/mindustry/content/Recipes.java @@ -154,6 +154,7 @@ public class Recipes implements ContentList{ new Recipe(liquid, LiquidBlocks.mechanicalPump, new ItemStack(Items.tungsten, 30), new ItemStack(Items.lead, 20)) .setDependencies(CraftingBlocks.smelter); new Recipe(liquid, LiquidBlocks.rotaryPump, new ItemStack(Items.tungsten, 140), new ItemStack(Items.lead, 100), new ItemStack(Items.silicon, 40), new ItemStack(Items.titanium, 70)); + new Recipe(liquid, LiquidBlocks.thermalPump, new ItemStack(Items.tungsten, 160), new ItemStack(Items.lead, 130), new ItemStack(Items.silicon, 60), new ItemStack(Items.titanium, 80), new ItemStack(Items.thorium, 70)); //DEBUG new Recipe(units, DebugBlocks.itemSource, new ItemStack(Items.carbide, 10)).setDebug(); diff --git a/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java b/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java index e824005518..1c79d24a5f 100644 --- a/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/LiquidBlocks.java @@ -28,8 +28,9 @@ public class LiquidBlocks extends BlockList implements ContentList{ }}; thermalPump = new Pump("thermal-pump"){{ - pumpAmount = 0.3f; - consumes.power(0.05f); + shadow = "shadow-rounded-2"; + pumpAmount = 0.55f; + consumes.power(0.03f); liquidCapacity = 40f; size = 2; tier = 2; diff --git a/core/src/io/anuke/mindustry/world/BaseBlock.java b/core/src/io/anuke/mindustry/world/BaseBlock.java index 89a3f89424..fb19d46cb1 100644 --- a/core/src/io/anuke/mindustry/world/BaseBlock.java +++ b/core/src/io/anuke/mindustry/world/BaseBlock.java @@ -24,8 +24,6 @@ public abstract class BaseBlock{ public boolean outputsLiquid = false; public boolean singleLiquid = true; - public boolean outputsItems = false; - public int itemCapacity; public float liquidCapacity = 10f; public float liquidFlowFactor = 4.9f; @@ -68,6 +66,10 @@ public abstract class BaseBlock{ tile.entity.items.add(item, amount); } + public boolean outputsItems(){ + return hasItems; + } + /**Returns offset for stack placement.*/ public void getStackOffset(Item item, Tile tile, Translator trns){ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java index a84db53acf..68b8a9690b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java @@ -128,7 +128,7 @@ public class Conveyor extends Block{ Tile other = tile.getNearby(Mathf.mod(tile.getRotation() - direction, 4)); if(other != null) other = other.target(); - if(other == null || (!other.block().outputsItems && !other.block().hasItems)) return false; + if(other == null || !other.block().outputsItems()) return false; return (tile.getNearby(tile.getRotation()) == other) || (!other.block().rotate || other.getNearby(other.getRotation()) == tile); } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java index f5e795d5be..a339ce3f41 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java @@ -20,10 +20,14 @@ public class Junction extends Block{ update = true; solid = true; instantTransfer = true; - outputsItems = true; group = BlockGroup.transportation; } + @Override + public boolean outputsItems(){ + return true; + } + @Override public void update(Tile tile){ JunctionEntity entity = tile.entity(); 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 da0a16b65d..eb556afef1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java @@ -26,11 +26,15 @@ public class Sorter extends Block implements SelectionTrait{ update = true; solid = true; instantTransfer = true; - outputsItems = true; group = BlockGroup.transportation; configurable = true; } + @Override + public boolean outputsItems(){ + return true; + } + @Remote(targets = Loc.both, called = Loc.both, forward = true) public static void setSorterItem(Player player, Tile tile, Item item){ SorterEntity entity = tile.entity(); diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerGenerator.java index 5fac88bc26..7fca52eb2f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerGenerator.java @@ -12,6 +12,11 @@ public class PowerGenerator extends PowerDistributor{ flags = EnumSet.of(BlockFlag.producer); } + @Override + public boolean outputsItems(){ + return false; + } + @Override public TileEntity getEntity(){ return new GeneratorEntity(); @@ -19,6 +24,5 @@ public class PowerGenerator extends PowerDistributor{ public static class GeneratorEntity extends TileEntity{ public float generateTime; - public float uptime; } } diff --git a/core/src/io/anuke/mindustry/world/blocks/units/UnitPad.java b/core/src/io/anuke/mindustry/world/blocks/units/UnitPad.java index e0b1899391..2a6cf6eceb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/UnitPad.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/UnitPad.java @@ -72,6 +72,11 @@ public class UnitPad extends Block{ } } + @Override + public boolean outputsItems(){ + return false; + } + @Override public void setStats(){ super.setStats();