diff --git a/core/src/io/anuke/mindustry/entities/Unit.java b/core/src/io/anuke/mindustry/entities/Unit.java index 48d2181fd1..c70ccb3d34 100644 --- a/core/src/io/anuke/mindustry/entities/Unit.java +++ b/core/src/io/anuke/mindustry/entities/Unit.java @@ -100,7 +100,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ @Override public boolean collides(SolidTrait other){ - if(isDead()) return true; + if(isDead()) return false; if(other instanceof DamageTrait){ return other instanceof TeamTrait && state.teams.areEnemies((((TeamTrait) other).getTeam()), team); diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index fc52afa46c..b872a2ee59 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -127,7 +127,7 @@ public class HudFragment extends Fragment{ if(Net.hasClient()){ t.label(() -> ping.get(Net.getPing())).visible(() -> Net.client() && !gwt).colspan(2); } - }).size(-1).visible(() -> Settings.getBool("fps")).update(t -> t.setTranslation(0, state.mode.disableWaves ? waves.getHeight() : 0)).get(); + }).size(-1).visible(() -> Settings.getBool("fps")).update(t -> t.setTranslation(0, (!waves.isVisible() ? waves.getHeight() : Math.min(waves.getTranslation().y, waves.getHeight())) )).get(); //make wave box appear below rest of menu cont.swapActor(wavetable, menu.getParent()); @@ -347,7 +347,6 @@ public class HudFragment extends Fragment{ wavetable = table; IntFormat wavef = new IntFormat("text.wave"); - IntFormat waitf = new IntFormat("text.wave.waiting"); IntFormat enemyf = new IntFormat("text.wave.enemy"); IntFormat enemiesf = new IntFormat("text.wave.enemies"); diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PowerCrafter.java b/core/src/io/anuke/mindustry/world/blocks/production/PowerCrafter.java index 65f302b760..15fb12218b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PowerCrafter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PowerCrafter.java @@ -10,6 +10,7 @@ import io.anuke.mindustry.world.meta.BlockStat; public class PowerCrafter extends Block{ protected final int timerDump = timers++; + protected final int timerContentCheck = timers++; /**Optional.*/ protected Item outputItem; @@ -70,8 +71,17 @@ public class PowerCrafter extends Block{ if(entity.progress >= 1f){ entity.items.remove(consumes.item(), consumes.itemAmount()); - if(outputItem != null) offloadNear(tile, outputItem); - if(outputLiquid != null) handleLiquid(tile, tile, outputLiquid, outputLiquidAmount); + if(outputItem != null){ + offloadNear(tile, outputItem); + useContent(tile, outputItem); + } + + if(outputLiquid != null){ + handleLiquid(tile, tile, outputLiquid, outputLiquidAmount); + if(tile.entity.liquids.currentAmount() > 0f && tile.entity.timer.get(timerContentCheck, 10)){ + useContent(tile, outputLiquid); + } + } entity.progress = 0f; } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java index 942dcce5db..76a83956ce 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java @@ -15,7 +15,7 @@ public class Pump extends LiquidBlock{ protected final Array drawTiles = new Array<>(); protected final Array updateTiles = new Array<>(); - protected int timerContentCheck = timers++; + protected final int timerContentCheck = timers++; /**Pump amount per tile this block is on.*/ protected float pumpAmount = 1f; diff --git a/server/src/io/anuke/mindustry/server/ServerControl.java b/server/src/io/anuke/mindustry/server/ServerControl.java index 55f8d8152f..5c5485d256 100644 --- a/server/src/io/anuke/mindustry/server/ServerControl.java +++ b/server/src/io/anuke/mindustry/server/ServerControl.java @@ -51,7 +51,7 @@ public class ServerControl extends Module{ "shufflemode", "normal", "bans", "", "admins", "", - "sector_x", 0, + "sector_x", 2, "sector_y", 1, "shuffle", true, "crashreport", false,