todo for CraftingModuleItem store

This commit is contained in:
Ell 2024-12-04 21:26:08 +01:00
parent af86cde133
commit ddc55003b6

View file

@ -264,6 +264,9 @@ public class CraftingModuleItem extends ModuleItem {
var equalityTypes = ItemFilter.getEqualityTypes(tile); var equalityTypes = ItemFilter.getEqualityTypes(tile);
var allCrafts = tile.getActiveCrafts(); var allCrafts = tile.getActiveCrafts();
for (var craft : allCrafts.stream().filter(c -> c.moduleSlot == slot && !c.getTravelingIngredient(stack, equalityTypes).isEmpty()).toList()) { for (var craft : allCrafts.stream().filter(c -> c.moduleSlot == slot && !c.getTravelingIngredient(stack, equalityTypes).isEmpty()).toList()) {
// TODO currently, we always shrink by the size of stack, even if the container can't actually accept the entire stack
// some containers' getAvailableDestination method returns an incorrect value (because it's a heuristic), so parts of this stack might be sent back,
// in which case we have to add it back to the collection of items we need to request (as an item stack since we won't have the lock anymore)
var traveling = craft.getTravelingIngredient(stack, equalityTypes); var traveling = craft.getTravelingIngredient(stack, equalityTypes);
traveling.shrink(stack.getCount()); traveling.shrink(stack.getCount());
if (traveling.isEmpty()) if (traveling.isEmpty())