diff --git a/src/omaloon/world/blocks/defense/BlastTower.java b/src/omaloon/world/blocks/defense/BlastTower.java index da72fc29..794fd92c 100644 --- a/src/omaloon/world/blocks/defense/BlastTower.java +++ b/src/omaloon/world/blocks/defense/BlastTower.java @@ -157,67 +157,37 @@ public void shoot() { smoothProgress = 0f; } - @Override - public void updateTile() { - AutoImplement.Util.Inject(HasPressureImpl.class); - super.updateTile(); - targets.clear(); - Units.nearbyEnemies(team, x, y, range, u -> { - if(u.checkTarget(targetAir, targetGround)) { - targets.add(u); - } - }); - - indexer.allBuildings(x, y, range, b -> { - if(b.team != team){ - targets.add(b); - } - }); - - float effMultiplier = efficiencyMultiplier(); - - if (targets.size > 0 && canConsume()) { - smoothProgress = Mathf.approach(smoothProgress, 1f, Time.delta / chargeTime * effMultiplier); - - if (efficiency > 0 && (charge += Time.delta * effMultiplier) >= reload && smoothProgress >= 0.99f) { - shoot(); - charge = 0f; - } - } else { - smoothProgress = Mathf.approach(smoothProgress, 0f, Time.delta / chargeTime * effMultiplier); - } - } @Override public void updateTile() { AutoImplement.Util.Inject(HasPressureImpl.class); - super.updateTile(); - - targets.clear(); - Units.nearbyEnemies(team, x, y, range, u -> { - if(u.checkTarget(targetAir, targetGround)) { - targets.add(u); - } - }); - - indexer.allBuildings(x, y, range, b -> { - if(b.team != team){ - targets.add(b); - } - }); - - float effMultiplier = efficiencyMultiplier(); - - if (targets.size > 0 && canConsume()) { - smoothProgress = Mathf.approach(smoothProgress, 1f, Time.delta / chargeTime * effMultiplier); - - if (efficiency > 0 && (charge += Time.delta * effMultiplier) >= reload && smoothProgress >= 0.99f) { - shoot(); - charge = 0f; - } - } else { - smoothProgress = Mathf.approach(smoothProgress, 0f, Time.delta / chargeTime * effMultiplier); - } + super.updateTile(); + + targets.clear(); + Units.nearbyEnemies(team, x, y, range, u -> { + if(u.checkTarget(targetAir, targetGround)) { + targets.add(u); + } + }); + + indexer.allBuildings(x, y, range, b -> { + if(b.team != team){ + targets.add(b); + } + }); + + float effMultiplier = efficiencyMultiplier(); + + if (targets.size > 0 && canConsume()) { + smoothProgress = Mathf.approach(smoothProgress, 1f, Time.delta / chargeTime * effMultiplier); + + if (efficiency > 0 && (charge += Time.delta * effMultiplier) >= reload && smoothProgress >= 0.99f) { + shoot(); + charge = 0f; + } + } else { + smoothProgress = Mathf.approach(smoothProgress, 0f, Time.delta / chargeTime * effMultiplier); + } } @Override diff --git a/src/omaloon/world/blocks/liquid/PressureLiquidBridge.java b/src/omaloon/world/blocks/liquid/PressureLiquidBridge.java index 8039ee03..a8cc281f 100644 --- a/src/omaloon/world/blocks/liquid/PressureLiquidBridge.java +++ b/src/omaloon/world/blocks/liquid/PressureLiquidBridge.java @@ -18,6 +18,7 @@ import mindustry.world.blocks.liquid.*; import mindustry.world.blocks.sandbox.*; import mindustry.world.meta.*; +import omaloon.annotations.AutoImplement; import omaloon.annotations.Load; import omaloon.world.blocks.distribution.*; import omaloon.world.interfaces.*; @@ -232,6 +233,7 @@ public void read(Reads read, byte revision) { } @Override + @AutoImplement.NoInject(HasPressureImpl.class) public void updateTile() { incoming.size = Math.min(incoming.size, maxConnections - (link == -1 ? 0 : 1)); incoming.shrink(); @@ -239,7 +241,6 @@ public void updateTile() { checkIncoming(); updatePressure(); - BUG_NEED_TO_INJECT//I'll fix this after merge Tile other = world.tile(link); if(linkValid(tile, other)) { diff --git a/src/omaloon/world/blocks/liquid/PressureLiquidPump.java b/src/omaloon/world/blocks/liquid/PressureLiquidPump.java index 49c19d4f..c1bd56ba 100644 --- a/src/omaloon/world/blocks/liquid/PressureLiquidPump.java +++ b/src/omaloon/world/blocks/liquid/PressureLiquidPump.java @@ -171,7 +171,7 @@ public Liquid config() { } @Override public boolean connects(HasPressure to) { - return HasPressure.super.connects(to) && (front() == to || back() == to) && (!(to instanceof PressureLiquidPumpBuild) || to.rotation() == rotation); + return HasPressureImpl.super.connects(to) && (front() == to || back() == to) && (!(to instanceof PressureLiquidPumpBuild) || to.rotation() == rotation); } @Override diff --git a/src/omaloon/world/blocks/liquid/PressureLiquidValve.java b/src/omaloon/world/blocks/liquid/PressureLiquidValve.java index 16c832d5..c285df90 100644 --- a/src/omaloon/world/blocks/liquid/PressureLiquidValve.java +++ b/src/omaloon/world/blocks/liquid/PressureLiquidValve.java @@ -190,14 +190,6 @@ public boolean outputsPressurizedFluid(HasPressure to, Liquid liquid, float amou return HasPressureImpl.super.outputsPressurizedFluid(to, liquid, amount) && (liquid == to.pressure().getMain() || liquid == null || pressure.getMain() == null || to.pressure().getMain() == null); } - new PressureSection().mergeFlood(this); - } - - @Override - public boolean outputsPressurizedFluid(HasPressure to, Liquid liquid, float amount) { - return HasPressureImpl.super.outputsPressurizedFluid(to, liquid, amount) && (liquid == to.pressure().getMain() || liquid == null || pressure.getMain() == null || to.pressure().getMain() == null); - } - @Override public void read(Reads read, byte revision) { super.read(read, revision); diff --git a/src/omaloon/world/blocks/sandbox/PressureLiquidSource.java b/src/omaloon/world/blocks/sandbox/PressureLiquidSource.java index a842e446..a8e7b099 100644 --- a/src/omaloon/world/blocks/sandbox/PressureLiquidSource.java +++ b/src/omaloon/world/blocks/sandbox/PressureLiquidSource.java @@ -102,7 +102,7 @@ public class PressureLiquidSourceBuild extends Building implements HasPressureIm @Override public boolean acceptsPressurizedFluid(HasPressure from, Liquid liquid, float amount) { - return HasPressure.super.acceptsPressurizedFluid(from, liquid, amount) && liquid == Vars.content.liquid(this.liquid); + return HasPressureImpl.super.acceptsPressurizedFluid(from, liquid, amount) && liquid == Vars.content.liquid(this.liquid); } @Override @@ -164,7 +164,7 @@ public void draw() { @Override public boolean outputsPressurizedFluid(HasPressure to, Liquid liquid, float amount) { - return HasPressure.super.outputsPressurizedFluid(to, liquid, amount) && liquid == Vars.content.liquid(this.liquid); + return HasPressureImpl.super.outputsPressurizedFluid(to, liquid, amount) && liquid == Vars.content.liquid(this.liquid); } @Override