diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index a90efd9ce6..1bdd1f4c01 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -1293,16 +1293,19 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, return true; } + /** Called right before this building is picked up. */ public void pickedUp(){ + + + } + + /** Called right after this building is picked up. */ + public void afterPickedUp(){ if(power != null){ - if(power.graph != null){ - power.graph.removeList(self()); - power.graph = new PowerGraph(); - } + power.graph = new PowerGraph(); power.links.clear(); power.status = 0f; } - } public void removeFromProximity(){ diff --git a/core/src/mindustry/entities/comp/PayloadComp.java b/core/src/mindustry/entities/comp/PayloadComp.java index 045ae581d0..5bd52e7165 100644 --- a/core/src/mindustry/entities/comp/PayloadComp.java +++ b/core/src/mindustry/entities/comp/PayloadComp.java @@ -93,6 +93,7 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{ void pickup(Building tile){ tile.pickedUp(); tile.tile.remove(); + tile.afterPickedUp(); addPayload(new BuildPayload(tile)); Fx.unitPickup.at(tile); Events.fire(new PickupEvent(self(), tile));