diff --git a/core/src/mindustry/game/Universe.java b/core/src/mindustry/game/Universe.java index 39adf83536..eba7987876 100644 --- a/core/src/mindustry/game/Universe.java +++ b/core/src/mindustry/game/Universe.java @@ -163,7 +163,7 @@ public class Universe{ //export to another sector if(sector.info.destination != null){ Sector to = sector.info.destination; - if(to.hasBase()){ + if(to.hasBase() && to.planet == planet){ ItemSeq items = new ItemSeq(); //calculated exported items to this sector sector.info.export.each((item, stat) -> items.add(item, (int)(stat.mean * newSecondsPassed * sector.getProductionScale()))); diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 1ce0aa73f7..74cda8b373 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -621,6 +621,7 @@ public class Block extends UnlockableContent implements Senseable{ public boolean canReplace(Block other){ if(other.alwaysReplace) return true; + if(other.privileged) return false; return other.replaceable && (other != this || (rotate && quickRotate)) && this.group != BlockGroup.none && other.group == this.group && (size == other.size || (size >= other.size && ((subclass != null && subclass == other.subclass) || group.anyReplace))); } diff --git a/core/src/mindustry/world/blocks/campaign/LaunchPad.java b/core/src/mindustry/world/blocks/campaign/LaunchPad.java index 889553705a..062a0d80f1 100644 --- a/core/src/mindustry/world/blocks/campaign/LaunchPad.java +++ b/core/src/mindustry/world/blocks/campaign/LaunchPad.java @@ -168,7 +168,7 @@ public class LaunchPad extends Block{ table.button(Icon.upOpen, Styles.cleari, () -> { ui.planet.showSelect(state.rules.sector, other -> { - if(state.isCampaign()){ + if(state.isCampaign() && other.planet == state.rules.sector.planet){ state.rules.sector.info.destination = other; } });