This commit is contained in:
Anuken
2022-05-11 23:28:37 -04:00
parent 6e79f22734
commit 263f129c8b
3 changed files with 9 additions and 4 deletions

View File

@@ -76,6 +76,10 @@ public class DirectionLiquidBridge extends DirectionBridge{
@Override
public boolean acceptLiquid(Building source, Liquid liquid){
var link = findLink();
//only accept if there's an output point, or it comes from a link
if(link == null && !(source instanceof DirectionBridgeBuild b && b.findLink() == this)) return false;
int rel = this.relativeToEdge(source.tile);
return

View File

@@ -75,7 +75,7 @@ public class Duct extends Block implements Autotiler{
|| ((!otherblock.rotatedOutput(otherx, othery) && Edges.getFacingEdge(otherblock, otherx, othery, tile) != null &&
Edges.getFacingEdge(otherblock, otherx, othery, tile).relativeTo(tile) == rotation) ||
//basically the only change here is that it treats overflow ducts specially, since they're... weird
((otherblock.rotatedOutput(otherx, othery) || otherblock instanceof OverflowDuct) && Point2.equals(otherx + Geometry.d4(otherrot).x, othery + Geometry.d4(otherrot).y, tile.x, tile.y)));
((otherblock.rotatedOutput(otherx, othery)) && Point2.equals(otherx + Geometry.d4(otherrot).x, othery + Geometry.d4(otherrot).y, tile.x, tile.y)));
}
@Override
@@ -175,7 +175,7 @@ public class Duct extends Block implements Autotiler{
return current == null && items.total() == 0 &&
(armored ?
//armored acceptance
((source.block.rotate && source.front() == this && source.block.hasItems) || Edges.getFacingEdge(source.tile(), tile).relativeTo(tile) == rotation) :
((source.block.rotate && source.front() == this && source.block.hasItems && (source.block instanceof Duct)) || Edges.getFacingEdge(source.tile(), tile).relativeTo(tile) == rotation) :
//standard acceptance - do not accept from front
!(source.block.rotate && next == source) && Math.abs(Edges.getFacingEdge(source.tile, tile).relativeTo(tile.x, tile.y) - rotation) != 2
);

View File

@@ -67,8 +67,9 @@ public class HeatCrafter extends GenericCrafter{
}
@Override
public float getProgressIncrease(float base){
return super.getProgressIncrease(base) * efficiencyScale();
public void updateEfficiencyMultiplier(){
efficiency *= efficiencyScale();
potentialEfficiency *= efficiencyScale();
}
public float efficiencyScale(){