Dependency resolution fix

This commit is contained in:
Anuken
2020-11-30 17:49:20 -05:00
parent d33cea6003
commit d868ff81bf
5 changed files with 20 additions and 14 deletions

View File

@@ -13,7 +13,6 @@ public class Liquids implements ContentList{
water = new Liquid("water", Color.valueOf("596ab8")){{
heatCapacity = 0.4f;
effect = StatusEffects.wet;
alwaysUnlocked = true;
}};
slag = new Liquid("slag", Color.valueOf("ffa166")){{

View File

@@ -249,9 +249,10 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
boolean canSelect(Sector sector){
if(mode == select) return sector.hasBase();
//preset sectors can only be selected once unlocked
if(sector.preset != null) return sector.preset.unlocked() || sector.hasBase();
return sector.hasBase() || sector.near().contains(Sector::hasBase) //near an occupied sector
|| (sector.preset != null && sector.preset.unlocked()); //is an unlocked preset
return sector.hasBase() || sector.near().contains(Sector::hasBase); //near an occupied sector
}
Sector findLauncher(Sector to){

View File

@@ -632,18 +632,16 @@ public class Block extends UnlockableContent{
cons.get(stack.item);
}
if(consumes.any()){
//also requires inputs
for(Consume c : consumes.all()){
if(c instanceof ConsumeItems i){
for(ItemStack stack : i.items){
cons.get(stack.item);
}
}else if(c instanceof ConsumeLiquid i){
cons.get(i.liquid);
//also requires inputs
consumes.each(c -> {
if(c instanceof ConsumeItems i){
for(ItemStack stack : i.items){
cons.get(stack.item);
}
}else if(c instanceof ConsumeLiquid i){
cons.get(i.liquid);
}
}
});
}
@Override

View File

@@ -20,6 +20,14 @@ public class Consumers{
return results != null && results.length > 0;
}
public void each(Cons<Consume> c){
for(var cons : map){
if(cons != null){
c.get(cons);
}
}
}
public void init(){
results = Structs.filter(Consume.class, map, m -> m != null);
optionalResults = Structs.filter(Consume.class, map, m -> m != null && m.isOptional());