multi-liquids consumers
This commit is contained in:
@@ -130,7 +130,7 @@ public class ForceProjector extends Block{
|
||||
|
||||
@Override
|
||||
public void updateTile(){
|
||||
boolean phaseValid = consumes.get(ConsumeType.item).valid(this);
|
||||
boolean phaseValid = consumes.has(ConsumeType.item) && consumes.get(ConsumeType.item).valid(this);
|
||||
|
||||
phaseHeat = Mathf.lerpDelta(phaseHeat, Mathf.num(phaseValid), 0.1f);
|
||||
|
||||
|
||||
@@ -56,18 +56,18 @@ public class ItemTurret extends Turret{
|
||||
public void init(){
|
||||
consumes.add(new ConsumeItemFilter(i -> ammoTypes.containsKey(i)){
|
||||
@Override
|
||||
public void build(Building tile, Table table){
|
||||
public void build(Building build, Table table){
|
||||
MultiReqImage image = new MultiReqImage();
|
||||
content.items().each(i -> filter.get(i) && i.unlockedNow(), item -> image.add(new ReqImage(new ItemImage(item.uiIcon),
|
||||
() -> tile instanceof ItemTurretBuild it && !it.ammo.isEmpty() && ((ItemEntry)it.ammo.peek()).item == item)));
|
||||
() -> build instanceof ItemTurretBuild it && !it.ammo.isEmpty() && ((ItemEntry)it.ammo.peek()).item == item)));
|
||||
|
||||
table.add(image).size(8 * 4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean valid(Building entity){
|
||||
public boolean valid(Building build){
|
||||
//valid when there's any ammo in the turret
|
||||
return entity instanceof ItemTurretBuild it && !it.ammo.isEmpty();
|
||||
return build instanceof ItemTurretBuild it && !it.ammo.isEmpty();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -48,12 +48,12 @@ public class LiquidTurret extends Turret{
|
||||
public void init(){
|
||||
consumes.add(new ConsumeLiquidFilter(i -> ammoTypes.containsKey(i), 1f){
|
||||
@Override
|
||||
public boolean valid(Building entity){
|
||||
return entity.liquids.total() > 0.001f;
|
||||
public boolean valid(Building build){
|
||||
return build.liquids.total() > 0.001f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(Building entity){
|
||||
public void update(Building build){
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -345,9 +345,9 @@ public class PowerGraph{
|
||||
}
|
||||
}
|
||||
|
||||
private boolean otherConsumersAreValid(Building tile, Consume consumePower){
|
||||
for(Consume cons : tile.block.consumes.all()){
|
||||
if(cons != consumePower && !cons.isOptional() && !cons.valid(tile)){
|
||||
private boolean otherConsumersAreValid(Building build, Consume consumePower){
|
||||
for(Consume cons : build.block.consumes.all()){
|
||||
if(cons != consumePower && !cons.isOptional() && !cons.valid(build)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ public class GenericCrafter extends Block{
|
||||
super.setBars();
|
||||
|
||||
//set up liquid bars for multiple liquid outputs; TODO multiple inputs not yet supported due to inherent complexity
|
||||
//TODO this will currently screw up input display if input liquids are available
|
||||
//TODO this will currently screw up input display if input liquids are available - no good way to fix that yet
|
||||
if(outputLiquids != null && outputLiquids.length > 1){
|
||||
bars.remove("liquid");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user