diff --git a/core/src/mindustry/core/NetClient.java b/core/src/mindustry/core/NetClient.java index a792ee3620..415ed77556 100644 --- a/core/src/mindustry/core/NetClient.java +++ b/core/src/mindustry/core/NetClient.java @@ -331,6 +331,16 @@ public class NetClient implements ApplicationListener{ @Remote(variants = Variant.both) public static void setObjectives(MapObjectives executor){ + //clear old markers + for(var objective : state.rules.objectives){ + for(var marker : objective.markers){ + if(marker.wasAdded){ + marker.removed(); + marker.wasAdded = false; + } + } + } + state.rules.objectives = executor; } diff --git a/core/src/mindustry/game/MapObjectives.java b/core/src/mindustry/game/MapObjectives.java index b588b1bba6..cf5fed390e 100644 --- a/core/src/mindustry/game/MapObjectives.java +++ b/core/src/mindustry/game/MapObjectives.java @@ -99,8 +99,6 @@ public class MapObjectives implements Iterable, Eachable { for(var marker : obj.markers){ if(!marker.wasAdded){ @@ -109,7 +107,8 @@ public class MapObjectives implements Iterable, Eachable, Eachable