Minor cleanup / Tick reset fix
This commit is contained in:
@@ -348,7 +348,7 @@ public class PowerGraph{
|
||||
}
|
||||
|
||||
private boolean otherConsumersAreValid(Building build, Consume consumePower){
|
||||
for(Consume cons : build.block.consumes.all()){
|
||||
for(Consume cons : build.block.consumes.all){
|
||||
if(cons != consumePower && !cons.isOptional() && !cons.valid(build)){
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -4,5 +4,7 @@ public enum ConsumeType{
|
||||
item,
|
||||
power,
|
||||
liquid,
|
||||
payload
|
||||
payload;
|
||||
|
||||
public static final ConsumeType[] all = values();
|
||||
}
|
||||
|
||||
@@ -10,8 +10,9 @@ import mindustry.world.blocks.power.*;
|
||||
import mindustry.world.meta.*;
|
||||
|
||||
public class Consumers{
|
||||
private Consume[] map = new Consume[ConsumeType.values().length];
|
||||
private Consume[] results, optionalResults;
|
||||
private Consume[] map = new Consume[ConsumeType.all.length];
|
||||
|
||||
public Consume[] all = {}, optionals = {};
|
||||
|
||||
public final Bits itemFilters = new Bits(Vars.content.items().size);
|
||||
public final Bits liquidfilters = new Bits(Vars.content.liquids().size);
|
||||
@@ -25,7 +26,7 @@ public class Consumers{
|
||||
}
|
||||
|
||||
public boolean any(){
|
||||
return results != null && results.length > 0;
|
||||
return all.length > 0;
|
||||
}
|
||||
|
||||
public void each(Cons<Consume> c){
|
||||
@@ -37,10 +38,10 @@ public class Consumers{
|
||||
}
|
||||
|
||||
public void init(){
|
||||
results = Structs.filter(Consume.class, map, m -> m != null);
|
||||
optionalResults = Structs.filter(Consume.class, map, m -> m != null && m.isOptional());
|
||||
all = Structs.filter(Consume.class, map, m -> m != null);
|
||||
optionals = Structs.filter(Consume.class, map, m -> m != null && m.isOptional());
|
||||
|
||||
for(Consume cons : results){
|
||||
for(Consume cons : all){
|
||||
cons.applyItemFilter(itemFilters);
|
||||
cons.applyLiquidFilter(liquidfilters);
|
||||
}
|
||||
@@ -126,18 +127,20 @@ public class Consumers{
|
||||
return (T)map[type.ordinal()];
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public <T extends Consume> T getOrNull(ConsumeType type){
|
||||
public @Nullable <T extends Consume>T getOrNull(ConsumeType type){
|
||||
return (T)map[type.ordinal()];
|
||||
}
|
||||
|
||||
@Nullable
|
||||
/** @deprecated unnecessary getter */
|
||||
@Deprecated
|
||||
public Consume[] all(){
|
||||
return results;
|
||||
return all;
|
||||
}
|
||||
|
||||
/** @deprecated unnecessary getter */
|
||||
@Deprecated
|
||||
public Consume[] optionals(){
|
||||
return optionalResults;
|
||||
return optionals;
|
||||
}
|
||||
|
||||
public void display(Stats stats){
|
||||
|
||||
@@ -41,7 +41,7 @@ public class ConsumeModule extends BlockModule{
|
||||
optionalValid = true;
|
||||
boolean docons = entity.shouldConsume() && entity.productionValid();
|
||||
|
||||
for(Consume cons : entity.block.consumes.all()){
|
||||
for(Consume cons : entity.block.consumes.all){
|
||||
if(cons.isOptional()) continue;
|
||||
|
||||
if(docons && cons.isUpdate() && prevValid && cons.valid(entity)){
|
||||
@@ -51,7 +51,7 @@ public class ConsumeModule extends BlockModule{
|
||||
valid &= cons.valid(entity);
|
||||
}
|
||||
|
||||
for(Consume cons : entity.block.consumes.optionals()){
|
||||
for(Consume cons : entity.block.consumes.optionals){
|
||||
if(docons && cons.isUpdate() && prevValid && cons.valid(entity)){
|
||||
cons.update(entity);
|
||||
}
|
||||
@@ -61,7 +61,7 @@ public class ConsumeModule extends BlockModule{
|
||||
}
|
||||
|
||||
public void trigger(){
|
||||
for(Consume cons : entity.block.consumes.all()){
|
||||
for(Consume cons : entity.block.consumes.all){
|
||||
cons.trigger(entity);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user