Fixed #9714
This commit is contained in:
@@ -993,6 +993,11 @@ public class Block extends UnlockableContent implements Senseable{
|
|||||||
return consume(new ConsumePowerDynamic((Floatf<Building>)usage));
|
return consume(new ConsumePowerDynamic((Floatf<Building>)usage));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Creates a consumer that consumes a dynamic amount of power. */
|
||||||
|
public <T extends Building> ConsumePower consumePowerDynamic(float displayed, Floatf<T> usage){
|
||||||
|
return consume(new ConsumePowerDynamic(displayed, (Floatf<Building>)usage));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a consumer which stores power.
|
* Creates a consumer which stores power.
|
||||||
* @param powerCapacity The maximum capacity in power units.
|
* @param powerCapacity The maximum capacity in power units.
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ public class PayloadLoader extends PayloadBlock{
|
|||||||
public void init(){
|
public void init(){
|
||||||
if(loadPowerDynamic){
|
if(loadPowerDynamic){
|
||||||
basePowerUse = consPower != null ? consPower.usage : 0f;
|
basePowerUse = consPower != null ? consPower.usage : 0f;
|
||||||
consumePowerDynamic((PayloadLoaderBuild loader) -> loader.shouldConsume() ? (loader.hasBattery() && !loader.exporting ? maxPowerConsumption + basePowerUse : basePowerUse) : 0f);
|
consumePowerDynamic(basePowerUse, (PayloadLoaderBuild loader) -> loader.shouldConsume() ? (loader.hasBattery() && !loader.exporting ? maxPowerConsumption + basePowerUse : basePowerUse) : 0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
super.init();
|
super.init();
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ public class PayloadUnloader extends PayloadLoader{
|
|||||||
(liquids.current() == payload.build.liquids.current() || liquids.currentAmount() <= 0.2f)){
|
(liquids.current() == payload.build.liquids.current() || liquids.currentAmount() <= 0.2f)){
|
||||||
var liq = payload.build.liquids.current();
|
var liq = payload.build.liquids.current();
|
||||||
float remaining = liquidCapacity - liquids.currentAmount();
|
float remaining = liquidCapacity - liquids.currentAmount();
|
||||||
float flow = Math.min(Math.min(liquidsLoaded * delta(), remaining), payload.build.liquids.currentAmount());
|
float flow = Math.min(Math.min(liquidsLoaded * edelta(), remaining), payload.build.liquids.currentAmount());
|
||||||
|
|
||||||
liquids.add(liq, flow);
|
liquids.add(liq, flow);
|
||||||
payload.build.liquids.remove(liq, flow);
|
payload.build.liquids.remove(liq, flow);
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ public class UnitFactory extends UnitBlock{
|
|||||||
}
|
}
|
||||||
|
|
||||||
ItemStack stack = plan.requirements[i];
|
ItemStack stack = plan.requirements[i];
|
||||||
req.add(new ItemDisplay(stack.item, stack.amount, false)).pad(5);
|
req.add(new ItemDisplay(stack.item, stack.amount, plan.time, true)).pad(5);
|
||||||
}
|
}
|
||||||
}).right().grow().pad(10f);
|
}).right().grow().pad(10f);
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
@@ -7,12 +7,19 @@ import mindustry.world.meta.*;
|
|||||||
/** A power consumer that uses a dynamic amount of power. */
|
/** A power consumer that uses a dynamic amount of power. */
|
||||||
public class ConsumePowerDynamic extends ConsumePower{
|
public class ConsumePowerDynamic extends ConsumePower{
|
||||||
private final Floatf<Building> usage;
|
private final Floatf<Building> usage;
|
||||||
|
private float displayedPowerUsage;
|
||||||
|
|
||||||
public ConsumePowerDynamic(Floatf<Building> usage){
|
public ConsumePowerDynamic(Floatf<Building> usage){
|
||||||
super(0, 0, false);
|
super(0, 0, false);
|
||||||
this.usage = usage;
|
this.usage = usage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ConsumePowerDynamic(float displayed, Floatf<Building> usage){
|
||||||
|
super(0, 0, false);
|
||||||
|
this.displayedPowerUsage = displayed;
|
||||||
|
this.usage = usage;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float requestedPower(Building entity){
|
public float requestedPower(Building entity){
|
||||||
return usage.get(entity);
|
return usage.get(entity);
|
||||||
@@ -20,6 +27,8 @@ public class ConsumePowerDynamic extends ConsumePower{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void display(Stats stats){
|
public void display(Stats stats){
|
||||||
|
if(displayedPowerUsage != 0f){
|
||||||
|
stats.add(Stat.powerUse, displayedPowerUsage * 60f, StatUnit.powerSecond);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user