2424import org .cyclops .integratedcrafting .IntegratedCrafting ;
2525import org .cyclops .integratedcrafting .api .crafting .*;
2626import org .cyclops .integratedcrafting .api .network .ICraftingNetwork ;
27- import org .cyclops .integrateddynamics .api .ingredient .IIngredientComponentStorageObservable ;
2827import org .cyclops .integrateddynamics .api .network .INetwork ;
2928import org .cyclops .integrateddynamics .api .network .IPositionedAddonsNetworkIngredients ;
3029import org .cyclops .integrateddynamics .api .part .PartPos ;
@@ -306,9 +305,8 @@ protected <T, M> void registerIngredientObserver(IngredientComponent<T, M> ingre
306305 IPositionedAddonsNetworkIngredients <T , M > ingredientsNetwork = CraftingHelpers
307306 .getIngredientsNetworkChecked (network , ingredientComponent );
308307 ICraftingNetwork craftingNetwork = CraftingHelpers .getCraftingNetworkChecked (network );
309- PendingCraftingJobResultIndexObserver <T , M > observer = new PendingCraftingJobResultIndexObserver <>(ingredientComponent , this , craftingNetwork , ingredientsNetwork , network );
310- ingredientsNetwork .addObserver (observer );
311- ingredientsNetwork .scheduleObservation ();
308+ PendingCraftingJobResultIndexObserver <T , M > observer = new PendingCraftingJobResultIndexObserver <>(ingredientComponent , this , craftingNetwork );
309+ ingredientsNetwork .registerInsertPreConsumer (observer );
312310 ingredientObservers .put (ingredientComponent , observer );
313311 }
314312 ingredientObserverCounters .put (ingredientComponent , count + 1 );
@@ -321,10 +319,10 @@ protected <T, M> void unregisterIngredientObserver(IngredientComponent<T, M> ing
321319 if (count == 0 ) {
322320 IPositionedAddonsNetworkIngredients <T , M > ingredientsNetwork = CraftingHelpers
323321 .getIngredientsNetworkChecked (network , ingredientComponent );
324- IIngredientComponentStorageObservable . IIndexChangeObserver <T , M > observer =
325- (IIngredientComponentStorageObservable . IIndexChangeObserver <T , M >) ingredientObservers
322+ PendingCraftingJobResultIndexObserver <T , M > observer =
323+ (PendingCraftingJobResultIndexObserver <T , M >) ingredientObservers
326324 .remove (ingredientComponent );
327- ingredientsNetwork .removeObserver (observer );
325+ ingredientsNetwork .unregisterInsertPreConsumer (observer );
328326 }
329327 }
330328
@@ -347,14 +345,6 @@ public void markCraftingJobFinished(int craftingJobId) {
347345 craftingJob .setAmount (0 );
348346 }
349347
350- public void reRegisterObservers (INetwork network ) {
351- for (Map .Entry <IngredientComponent <?, ?>, PendingCraftingJobResultIndexObserver <?, ?>> entry : ingredientObservers .entrySet ()) {
352- IPositionedAddonsNetworkIngredients ingredientsNetwork = CraftingHelpers
353- .getIngredientsNetworkChecked (network , entry .getKey ());
354- ingredientsNetwork .addObserver (entry .getValue ());
355- }
356- }
357-
358348 public void onCraftingJobEntryFinished (ICraftingNetwork craftingNetwork , int craftingJobId ) {
359349 CraftingJob craftingJob = this .allCraftingJobs .get (craftingJobId );
360350 craftingJob .setAmount (craftingJob .getAmount () - 1 );
@@ -660,7 +650,7 @@ public <T, M> IngredientInstanceWrapper<T, M> beforeFlushIngredientToNetwork(Ing
660650 if (observer != null ) {
661651 IIngredientCollectionMutable <T , M > instances = new IngredientCollectionPrototypeMap <>(instanceWrapper .getComponent ());
662652 instances .add (instanceWrapper .getInstance ());
663- return observer .addIngredient (instanceWrapper , channel );
653+ return observer .addIngredient (instanceWrapper , channel , false );
664654 }
665655 return instanceWrapper ;
666656 }
0 commit comments