ConsumeCoolant
This commit is contained in:
16
core/src/mindustry/world/consumers/ConsumeCoolant.java
Normal file
16
core/src/mindustry/world/consumers/ConsumeCoolant.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package mindustry.world.consumers;
|
||||
|
||||
/** A ConsumeLiquidFilter that consumes specific coolant, selected based on stats. */
|
||||
public class ConsumeCoolant extends ConsumeLiquidFilter{
|
||||
public float maxTemp = 0.5f, maxFlammability = 0.1f;
|
||||
|
||||
public ConsumeCoolant(float amount){
|
||||
this.filter = liquid -> liquid.temperature <= maxTemp && liquid.flammability < maxFlammability;
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
//mods
|
||||
public ConsumeCoolant(){
|
||||
this(0.1f);
|
||||
}
|
||||
}
|
||||
@@ -4,12 +4,14 @@ import mindustry.gen.*;
|
||||
|
||||
public abstract class ConsumeLiquidBase extends Consume{
|
||||
/** amount used per frame */
|
||||
public final float amount;
|
||||
public float amount;
|
||||
|
||||
public ConsumeLiquidBase(float amount){
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public ConsumeLiquidBase(){}
|
||||
|
||||
@Override
|
||||
public ConsumeType type(){
|
||||
return ConsumeType.liquid;
|
||||
|
||||
@@ -11,13 +11,17 @@ import mindustry.world.meta.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class ConsumeLiquidFilter extends ConsumeLiquidBase{
|
||||
public final Boolf<Liquid> filter;
|
||||
public Boolf<Liquid> filter;
|
||||
|
||||
public ConsumeLiquidFilter(Boolf<Liquid> liquid, float amount){
|
||||
super(amount);
|
||||
this.filter = liquid;
|
||||
}
|
||||
|
||||
public ConsumeLiquidFilter(){
|
||||
this.filter = l -> false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applyLiquidFilter(Bits arr){
|
||||
content.liquids().each(filter, item -> arr.set(item.id));
|
||||
|
||||
Reference in New Issue
Block a user