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

@@ -1251,7 +1251,7 @@ hint.mine = Move near the \uf8c4 copper ore and [accent]tap[] it to mine manuall
hint.desktopShoot = [accent][[Left-click][] to shoot. hint.desktopShoot = [accent][[Left-click][] to shoot.
hint.depositItems = To transfer items, drag from your ship to the core. hint.depositItems = To transfer items, drag from your ship to the core.
hint.respawn = To respawn as a ship, press [accent][[V][]. hint.respawn = To respawn as a ship, press [accent][[V][].
hint.respawn.mobile = You have switched control a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[]
hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. hint.desktopPause = Press [accent][[Space][] to pause and unpause the game.
hint.placeDrill = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and click on a copper patch to place it. hint.placeDrill = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and click on a copper patch to place it.
hint.placeDrill.mobile = Select the \ue85e[accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and tap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. hint.placeDrill.mobile = Select the \ue85e[accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and tap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm.

View File

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

View File

@@ -249,9 +249,10 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
boolean canSelect(Sector sector){ boolean canSelect(Sector sector){
if(mode == select) return sector.hasBase(); 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 return sector.hasBase() || sector.near().contains(Sector::hasBase); //near an occupied sector
|| (sector.preset != null && sector.preset.unlocked()); //is an unlocked preset
} }
Sector findLauncher(Sector to){ Sector findLauncher(Sector to){

View File

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

View File

@@ -20,6 +20,14 @@ public class Consumers{
return results != null && results.length > 0; 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(){ public void init(){
results = Structs.filter(Consume.class, map, m -> m != null); results = Structs.filter(Consume.class, map, m -> m != null);
optionalResults = Structs.filter(Consume.class, map, m -> m != null && m.isOptional()); optionalResults = Structs.filter(Consume.class, map, m -> m != null && m.isOptional());