1212
1313import appeng .api .behaviors .ExternalStorageStrategy ;
1414import appeng .api .config .Actionable ;
15- import appeng .api .config .BlockingMode ;
15+ import appeng .api .config .Settings ;
1616import appeng .api .networking .security .IActionSource ;
1717import appeng .api .stacks .AEKey ;
1818import appeng .api .stacks .AEKeyType ;
2121import appeng .me .storage .CompositeStorage ;
2222import appeng .parts .automation .StackWorldBehaviors ;
2323import appeng .util .BlockApiCache ;
24+ import appeng .util .ConfigManager ;
2425
2526class PatternProviderTargetCache {
2627 private final BlockApiCache <MEStorage > cache ;
2728 private final Direction direction ;
2829 private final IActionSource src ;
2930 private final Map <AEKeyType , ExternalStorageStrategy > strategies ;
30- private final BlockingMode blockingMode ;
31+ private final ConfigManager configManager ;
3132
3233 PatternProviderTargetCache (ServerLevel l , BlockPos pos , Direction direction , IActionSource src ,
33- BlockingMode blockingMode ) {
34+ ConfigManager configManager ) {
3435 this .cache = BlockApiCache .create (Capabilities .STORAGE , l , pos );
3536 this .direction = direction ;
3637 this .src = src ;
3738 this .strategies = StackWorldBehaviors .createExternalStorageStrategies (l , pos , direction );
38- this .blockingMode = blockingMode ;
39+ this .configManager = configManager ;
3940 }
4041
4142 @ Nullable
@@ -72,7 +73,7 @@ public long insert(AEKey what, long amount, Actionable type) {
7273
7374 @ Override
7475 public boolean containsPatternInput (Set <AEKey > patternInputs ) {
75- switch (blockingMode ) {
76+ switch (configManager . getSetting ( Settings . BLOCKING_MODE_EXTRA ) ) {
7677 case ALL -> {
7778 for (var stack : storage .getAvailableStacks ()) {
7879 if (stack .getKey ().getId ().equals (programmedCircuit ))
@@ -82,8 +83,9 @@ public boolean containsPatternInput(Set<AEKey> patternInputs) {
8283 }
8384 case DEFAULT -> {
8485 for (var stack : storage .getAvailableStacks ()) {
85- if (patternInputs .contains (stack .getKey ().dropSecondary ())
86- || !stack .getKey ().getId ().equals (programmedCircuit ))
86+ if (stack .getKey ().getId ().equals (programmedCircuit ))
87+ continue ;
88+ if (patternInputs .contains (stack .getKey ().dropSecondary ()))
8789 return true ;
8890 }
8991 }
0 commit comments