Fixed #2834
This commit is contained in:
@@ -465,8 +465,8 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
||||
return block.consumes.itemFilters.get(item.id) && items.get(item) < getMaximumAccepted(item);
|
||||
}
|
||||
|
||||
public boolean acceptLiquid(Building source, Liquid liquid, float amount){
|
||||
return block.hasLiquids && liquids.get(liquid) + amount < block.liquidCapacity && block.consumes.liquidfilters.get(liquid.id);
|
||||
public boolean acceptLiquid(Building source, Liquid liquid){
|
||||
return block.hasLiquids && block.consumes.liquidfilters.get(liquid.id);
|
||||
}
|
||||
|
||||
public void handleLiquid(Building source, Liquid liquid, float amount){
|
||||
@@ -498,7 +498,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
||||
public void transferLiquid(Building next, float amount, Liquid liquid){
|
||||
float flow = Math.min(next.block.liquidCapacity - next.liquids.get(liquid), amount);
|
||||
|
||||
if(next.acceptLiquid(self(), liquid, flow)){
|
||||
if(next.acceptLiquid(self(), liquid)){
|
||||
next.handleLiquid(self(), liquid, flow);
|
||||
liquids.remove(liquid, flow);
|
||||
}
|
||||
@@ -530,7 +530,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
||||
float flow = Math.min(Mathf.clamp((fract - ofract) * (1f)) * (block.liquidCapacity), liquids.get(liquid));
|
||||
flow = Math.min(flow, next.block.liquidCapacity - next.liquids.get(liquid));
|
||||
|
||||
if(flow > 0f && ofract <= fract && next.acceptLiquid(self(), liquid, flow)){
|
||||
if(flow > 0f && ofract <= fract && next.acceptLiquid(self(), liquid)){
|
||||
next.handleLiquid(self(), liquid, flow);
|
||||
liquids.remove(liquid, flow);
|
||||
return flow;
|
||||
|
||||
@@ -133,7 +133,7 @@ public class LiquidTurret extends Turret{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean acceptLiquid(Building source, Liquid liquid, float amount){
|
||||
public boolean acceptLiquid(Building source, Liquid liquid){
|
||||
return ammoTypes.get(liquid) != null
|
||||
&& (liquids.current() == liquid || (ammoTypes.containsKey(liquids.current())
|
||||
&& liquids.get(liquids.current()) <= 1f / ammoTypes.get(liquids.current()).ammoMultiplier + 0.001f));
|
||||
|
||||
@@ -354,7 +354,7 @@ public class ItemBridge extends Block{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean acceptLiquid(Building source, Liquid liquid, float amount){
|
||||
public boolean acceptLiquid(Building source, Liquid liquid){
|
||||
if(team != source.team || !hasLiquids) return false;
|
||||
|
||||
Tile other = world.tile(link);
|
||||
@@ -368,7 +368,7 @@ public class ItemBridge extends Block{
|
||||
return false;
|
||||
}
|
||||
|
||||
return liquids.get(liquid) + amount < liquidCapacity && (liquids.current() == liquid || liquids.get(liquids.current()) < 0.2f);
|
||||
return (liquids.current() == liquid || liquids.get(liquids.current()) < 0.2f);
|
||||
}
|
||||
|
||||
protected boolean linked(Building source){
|
||||
|
||||
@@ -32,8 +32,8 @@ public class ArmoredConduit extends Conduit{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean acceptLiquid(Building source, Liquid liquid, float amount){
|
||||
return super.acceptLiquid(source, liquid, amount) && (source.block instanceof Conduit ||
|
||||
public boolean acceptLiquid(Building source, Liquid liquid){
|
||||
return super.acceptLiquid(source, liquid) && (source.block instanceof Conduit ||
|
||||
source.tile.absoluteRelativeTo(tile.x, tile.y) == rotation);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,9 +120,9 @@ public class Conduit extends LiquidBlock implements Autotiler{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean acceptLiquid(Building source, Liquid liquid, float amount){
|
||||
public boolean acceptLiquid(Building source, Liquid liquid){
|
||||
noSleep();
|
||||
return liquids.get(liquid) + amount < liquidCapacity && (liquids.current() == liquid || liquids.currentAmount() < 0.2f)
|
||||
return (liquids.current() == liquid || liquids.currentAmount() < 0.2f)
|
||||
&& ((source.relativeTo(tile.x, tile.y) + 2) % 4 != rotation);
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ public class LiquidJunction extends LiquidBlock{
|
||||
int dir = source.relativeTo(tile.x, tile.y);
|
||||
dir = (dir + 4) % 4;
|
||||
Building next = nearby(dir);
|
||||
if(next == null || (!next.acceptLiquid(this, liquid, 0f) && !(next.block instanceof LiquidJunction))){
|
||||
if(next == null || (!next.acceptLiquid(this, liquid) && !(next.block instanceof LiquidJunction))){
|
||||
return this;
|
||||
}
|
||||
return next.getLiquidDestination(this, liquid);
|
||||
|
||||
@@ -20,8 +20,8 @@ public class LiquidRouter extends LiquidBlock{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean acceptLiquid(Building source, Liquid liquid, float amount){
|
||||
return liquids.get(liquid) + amount < liquidCapacity && (liquids.current() == liquid || liquids.currentAmount() < 0.2f);
|
||||
public boolean acceptLiquid(Building source, Liquid liquid){
|
||||
return (liquids.current() == liquid || liquids.currentAmount() < 0.2f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ public class Incinerator extends Block{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean acceptLiquid(Building source, Liquid liquid, float amount){
|
||||
public boolean acceptLiquid(Building source, Liquid liquid){
|
||||
return heat > 0.5f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ public class LiquidVoid extends Block{
|
||||
|
||||
public class LiquidVoidBuild extends Building{
|
||||
@Override
|
||||
public boolean acceptLiquid(Building source, Liquid liquid, float amount){
|
||||
public boolean acceptLiquid(Building source, Liquid liquid){
|
||||
return enabled;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user