Fixed #6843
This commit is contained in:
@@ -76,6 +76,10 @@ public class DirectionLiquidBridge extends DirectionBridge{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean acceptLiquid(Building source, Liquid liquid){
|
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);
|
int rel = this.relativeToEdge(source.tile);
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ public class Duct extends Block implements Autotiler{
|
|||||||
|| ((!otherblock.rotatedOutput(otherx, othery) && Edges.getFacingEdge(otherblock, otherx, othery, tile) != null &&
|
|| ((!otherblock.rotatedOutput(otherx, othery) && Edges.getFacingEdge(otherblock, otherx, othery, tile) != null &&
|
||||||
Edges.getFacingEdge(otherblock, otherx, othery, tile).relativeTo(tile) == rotation) ||
|
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
|
//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
|
@Override
|
||||||
@@ -175,7 +175,7 @@ public class Duct extends Block implements Autotiler{
|
|||||||
return current == null && items.total() == 0 &&
|
return current == null && items.total() == 0 &&
|
||||||
(armored ?
|
(armored ?
|
||||||
//armored acceptance
|
//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
|
//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
|
!(source.block.rotate && next == source) && Math.abs(Edges.getFacingEdge(source.tile, tile).relativeTo(tile.x, tile.y) - rotation) != 2
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -67,8 +67,9 @@ public class HeatCrafter extends GenericCrafter{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getProgressIncrease(float base){
|
public void updateEfficiencyMultiplier(){
|
||||||
return super.getProgressIncrease(base) * efficiencyScale();
|
efficiency *= efficiencyScale();
|
||||||
|
potentialEfficiency *= efficiencyScale();
|
||||||
}
|
}
|
||||||
|
|
||||||
public float efficiencyScale(){
|
public float efficiencyScale(){
|
||||||
|
|||||||
Reference in New Issue
Block a user