diff --git a/core/src/mindustry/graphics/MinimapRenderer.java b/core/src/mindustry/graphics/MinimapRenderer.java index b3c39bfa27..ad61d171a5 100644 --- a/core/src/mindustry/graphics/MinimapRenderer.java +++ b/core/src/mindustry/graphics/MinimapRenderer.java @@ -91,18 +91,23 @@ public class MinimapRenderer implements Disposable{ rect.set((dx - sz) * tilesize, (dy - sz) * tilesize, sz * 2 * tilesize, sz * 2 * tilesize); for(Unit unit : units){ - float rx = !withLabels ? (unit.x() - rect.x) / rect.width * w : unit.x() / (world.width() * tilesize) * w; - float ry = !withLabels ? (unit.y() - rect.y) / rect.width * h : unit.y() / (world.height() * tilesize) * h; + float rx = !withLabels ? (unit.x - rect.x) / rect.width * w : unit.x / (world.width() * tilesize) * w; + float ry = !withLabels ? (unit.y - rect.y) / rect.width * h : unit.y / (world.height() * tilesize) * h; Draw.mixcol(unit.team().color, 1f); float scale = Scl.scl(1f) / 2f * scaling * 32f; Draw.rect(unit.type.icon(Cicon.full), x + rx, y + ry, scale, scale, unit.rotation() - 90); Draw.reset(); + } - //only disable player names in multiplayer - if(withLabels && unit.isPlayer() && net.active()){ - Player pl = unit.getPlayer(); - drawLabel(x + rx, y + ry, pl.name, unit.team().color); + if(withLabels && net.active()){ + for(Player player : Groups.player){ + if(!player.dead()){ + float rx = player.x / (world.width() * tilesize) * w; + float ry = player.y / (world.height() * tilesize) * h; + + drawLabel(x + rx, y + ry, player.name, player.team().color); + } } } diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index ee9553237e..0a00cf9b8a 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -209,7 +209,7 @@ public class Turret extends ReloadTurret{ } public void targetPosition(Posc pos){ - if(!hasAmmo()) return; + if(!hasAmmo() || target == null) return; BulletType bullet = peekAmmo(); float speed = bullet.speed; //slow bullets never intersect diff --git a/core/src/mindustry/world/blocks/production/LiquidConverter.java b/core/src/mindustry/world/blocks/production/LiquidConverter.java index da40f17842..26615718d1 100644 --- a/core/src/mindustry/world/blocks/production/LiquidConverter.java +++ b/core/src/mindustry/world/blocks/production/LiquidConverter.java @@ -18,7 +18,7 @@ public class LiquidConverter extends GenericCrafter{ @Override public void init(){ ConsumeLiquidBase cl = consumes.get(ConsumeType.liquid); - cl.update(true); + cl.update(false); outputLiquid.amount = cl.amount; super.init(); } @@ -40,11 +40,13 @@ public class LiquidConverter extends GenericCrafter{ @Override public void updateTile(){ - ConsumeLiquidBase cl = consumes.get(ConsumeType.liquid); + ConsumeLiquid cl = consumes.get(ConsumeType.liquid); if(cons.valid()){ float use = Math.min(cl.amount * edelta(), liquidCapacity - liquids.get(outputLiquid.liquid)); + liquids.remove(cl.liquid, Math.min(use, liquids.get(cl.liquid))); + progress += use / cl.amount; liquids.add(outputLiquid.liquid, use); if(progress >= craftTime){ diff --git a/core/src/mindustry/world/blocks/units/Reconstructor.java b/core/src/mindustry/world/blocks/units/Reconstructor.java index 2ea7951e08..2aba7a8c7a 100644 --- a/core/src/mindustry/world/blocks/units/Reconstructor.java +++ b/core/src/mindustry/world/blocks/units/Reconstructor.java @@ -10,6 +10,7 @@ import mindustry.*; import mindustry.content.*; import mindustry.entities.*; import mindustry.entities.units.*; +import mindustry.game.EventType.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; @@ -174,6 +175,7 @@ public class Reconstructor extends UnitBlock{ Effect.shake(2f, 3f, this); Fx.producesmoke.at(this); consume(); + Events.fire(new UnitCreateEvent(payload.unit)); } } } diff --git a/desktop/src/mindustry/desktop/steam/SStat.java b/desktop/src/mindustry/desktop/steam/SStat.java index 7b6ad442b4..0086f68785 100644 --- a/desktop/src/mindustry/desktop/steam/SStat.java +++ b/desktop/src/mindustry/desktop/steam/SStat.java @@ -28,7 +28,7 @@ public enum SStat{ public void max(int amount){ if(amount > get()){ - add(amount - get()); + set(amount); } } @@ -42,7 +42,7 @@ public enum SStat{ } public void add(int amount){ - set(get() + 1); + set(get() + amount); } public void add(){ diff --git a/desktop/src/mindustry/desktop/steam/SStats.java b/desktop/src/mindustry/desktop/steam/SStats.java index 1705603043..4475ecad48 100644 --- a/desktop/src/mindustry/desktop/steam/SStats.java +++ b/desktop/src/mindustry/desktop/steam/SStats.java @@ -27,7 +27,6 @@ public class SStats implements SteamUserStatsCallback{ private ObjectSet blocksBuilt = new ObjectSet<>(), unitsBuilt = new ObjectSet<>(); private ObjectSet t5s = new ObjectSet<>(); - private ObjectSet tmpSet = new ObjectSet<>(); public SStats(){ stats.requestCurrentStats(); @@ -106,7 +105,7 @@ public class SStats implements SteamUserStatsCallback{ } } - SStat.maxProduction.max(Mathf.round(total)); + SStat.maxProduction.max(Math.round(total)); }); Events.run(Trigger.newGame, () -> Core.app.post(() -> {