Implemented #1129 / Bugfixes
This commit is contained in:
@@ -37,7 +37,7 @@ public class LiquidTurret extends Turret{
|
||||
consumes.add(new ConsumeLiquidFilter(i -> ammoTypes.containsKey(i), 1f){
|
||||
@Override
|
||||
public boolean valid(Tilec entity){
|
||||
return !((TurretEntity)entity).ammo.isEmpty();
|
||||
return entity.liquids().total() > 0.001f;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -254,7 +254,6 @@ public abstract class Turret extends Block{
|
||||
|
||||
if(alternate){
|
||||
float i = (shotCounter % shots) - shots/2f + (((shots+1)%2) / 2f);
|
||||
Log.info(i);
|
||||
|
||||
tr.trns(rotation - 90, spread * i + Mathf.range(xRand), size * tilesize / 2);
|
||||
bullet(type, rotation + Mathf.range(inaccuracy));
|
||||
|
||||
@@ -16,6 +16,10 @@ public class Consumers{
|
||||
public final Bits itemFilters = new Bits(Vars.content.items().size);
|
||||
public final Bits liquidfilters = new Bits(Vars.content.liquids().size);
|
||||
|
||||
public boolean any(){
|
||||
return results != null && results.length > 0;
|
||||
}
|
||||
|
||||
public void init(){
|
||||
results = Structs.filter(Consume.class, map, m -> m != null);
|
||||
optionalResults = Structs.filter(Consume.class, map, m -> m != null && m.isOptional());
|
||||
|
||||
16
core/src/mindustry/world/meta/BlockStatus.java
Normal file
16
core/src/mindustry/world/meta/BlockStatus.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package mindustry.world.meta;
|
||||
|
||||
import arc.graphics.*;
|
||||
import mindustry.graphics.*;
|
||||
|
||||
public enum BlockStatus{
|
||||
active(Color.valueOf("5ce677")),
|
||||
noOutput(Color.orange),
|
||||
noInput(Pal.remove);
|
||||
|
||||
public final Color color;
|
||||
|
||||
BlockStatus(Color color){
|
||||
this.color = color;
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,8 @@ package mindustry.world.modules;
|
||||
|
||||
import arc.util.io.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.world.consumers.Consume;
|
||||
import mindustry.world.consumers.*;
|
||||
import mindustry.world.meta.*;
|
||||
|
||||
public class ConsumeModule extends BlockModule{
|
||||
private boolean valid, optionalValid;
|
||||
@@ -12,6 +13,18 @@ public class ConsumeModule extends BlockModule{
|
||||
this.entity = entity;
|
||||
}
|
||||
|
||||
public BlockStatus status(){
|
||||
if(!entity.shouldConsume()){
|
||||
return BlockStatus.noOutput;
|
||||
}
|
||||
|
||||
if(!valid || !entity.productionValid()){
|
||||
return BlockStatus.noInput;
|
||||
}
|
||||
|
||||
return BlockStatus.active;
|
||||
}
|
||||
|
||||
public void update(){
|
||||
//everything is valid here
|
||||
if(entity.tile().isEnemyCheat()){
|
||||
|
||||
Reference in New Issue
Block a user