This commit is contained in:
Anuken
2022-02-21 22:17:18 -05:00
parent 77becf9179
commit 370191407d
30 changed files with 241 additions and 150 deletions
@@ -143,10 +143,10 @@ public class DirectionalForceProjector extends Block{
if(buildup > 0 && false){
float scale = !broken ? cooldownNormal : cooldownBrokenBase;
Consume cons = null;
if(cons.valid(this)){
cons.update(this);
scale *= (cooldownLiquid * (1f + (liquids.current().heatCapacity - 0.4f) * 0.9f));
}
//if(cons.valid(this)){
// cons.update(this);
// scale *= (cooldownLiquid * (1f + (liquids.current().heatCapacity - 0.4f) * 0.9f));
//}
buildup -= delta() * scale;
}
@@ -41,10 +41,6 @@ public class LiquidTurret extends Turret{
@Override
public void init(){
consume(new ConsumeLiquidFilter(i -> ammoTypes.containsKey(i), 1f){
@Override
public boolean valid(Building build){
return build.liquids.currentAmount() >= 0.001f;
}
@Override
public void update(Building build){
@@ -33,7 +33,7 @@ public class ReloadTurret extends BaseTurret{
}
protected void updateCooling(){
if(reload < reloadTime && coolant != null && coolant.valid(this)){
if(reload < reloadTime && coolant != null && coolant.efficiency(this) > 0){
float capacity = coolant instanceof ConsumeLiquidFilter filter ? filter.getConsumed(this).heatCapacity : 1f;
coolant.update(this);
reload += coolant.amount * edelta() * capacity * coolantMultiplier;
@@ -81,11 +81,11 @@ public class ConsumeGenerator extends PowerGenerator{
float multiplier = 1f;
if(valid){
if(filterItem != null && filterItem.getConsumed(this) != null){
itemMultiplier = filterItem.getEfficiency(this);
itemMultiplier = filterItem.efficiency(this);
}
//efficiency is added together
multiplier *= itemMultiplier + (filterLiquid == null ? 0f : filterLiquid.getEfficiency(this));
multiplier *= (itemMultiplier + (filterLiquid == null ? 0f : filterLiquid.efficiency(this)));
}
productionEfficiency = (valid ? 1f : 0f) * multiplier;
@@ -340,9 +340,11 @@ public class PowerGraph{
entity.remove();
}
@Deprecated
private boolean otherConsumersAreValid(Building build, Consume consumePower){
for(Consume cons : build.block.consumers){
if(cons != consumePower && !cons.optional && !cons.valid(build)){
for(Consume cons : build.block.nonOptionalConsumers){
//TODO fix this properly
if(cons != consumePower && cons.efficiency(build) <= 0.0000001f){
return false;
}
}