diff --git a/core/src/mindustry/core/NetClient.java b/core/src/mindustry/core/NetClient.java index d5e2a3e3a7..e9dbe9c8c9 100644 --- a/core/src/mindustry/core/NetClient.java +++ b/core/src/mindustry/core/NetClient.java @@ -352,6 +352,13 @@ public class NetClient implements ApplicationListener{ player.set(x, y); } + @Remote(variants = Variant.both, unreliable = true) + public static void setCameraPosition(float x, float y){ + if(Core.camera != null){ + Core.camera.position.set(x, y); + } + } + @Remote public static void playerDisconnect(int playerid){ if(netClient != null){ diff --git a/core/src/mindustry/game/Teams.java b/core/src/mindustry/game/Teams.java index 2436c87e42..a7a4730192 100644 --- a/core/src/mindustry/game/Teams.java +++ b/core/src/mindustry/game/Teams.java @@ -129,11 +129,12 @@ public class Teams{ unit.team.data().updateCount(unit.type, 1); if(unit instanceof Payloadc payloadc){ - payloadc.payloads().each(p -> { - if(p instanceof UnitPayload payload){ + var payloads = payloadc.payloads(); + for(int i = 0; i < payloads.size; i++){ + if(payloads.get(i) instanceof UnitPayload payload){ count(payload.unit); } - }); + } } } diff --git a/core/src/mindustry/world/blocks/power/ItemLiquidGenerator.java b/core/src/mindustry/world/blocks/power/ItemLiquidGenerator.java index 5c7daab1bd..ffc15fa604 100644 --- a/core/src/mindustry/world/blocks/power/ItemLiquidGenerator.java +++ b/core/src/mindustry/world/blocks/power/ItemLiquidGenerator.java @@ -1,6 +1,7 @@ package mindustry.world.blocks.power; import arc.*; +import arc.func.*; import arc.graphics.*; import arc.graphics.g2d.*; import arc.math.*; @@ -99,6 +100,8 @@ public class ItemLiquidGenerator extends PowerGenerator{ } public class ItemLiquidGeneratorBuild extends GeneratorBuild{ + protected Boolf liquidFilter = other -> liquids.get(other) >= 0.001f && getLiquidEfficiency(other) >= minLiquidEfficiency; + public float explosiveness, heat, totalTime; @Override @@ -120,14 +123,7 @@ public class ItemLiquidGenerator extends PowerGenerator{ return; } - Liquid liquid = null; - for(Liquid other : content.liquids()){ - if(hasLiquids && liquids.get(other) >= 0.001f && getLiquidEfficiency(other) >= minLiquidEfficiency){ - liquid = other; - break; - } - } - + Liquid liquid = hasLiquids ? content.liquids().find(liquidFilter) : null; totalTime += heat * Time.delta; //liquid takes priority over solids