Interface IHasRequiredItemsModule

All Superinterfaces:
IBuildingModule, IHasDirty
All Known Implementing Classes:
AbstractCraftingBuildingModule, AbstractCraftingBuildingModule.Brewing, AbstractCraftingBuildingModule.Crafting, AbstractCraftingBuildingModule.Custom, AbstractCraftingBuildingModule.Domum, AbstractCraftingBuildingModule.Smelting, AnimalHerdingModule, BuildingAlchemist.BrewingModule, BuildingAlchemist.CraftingModule, BuildingBaker.CraftingModule, BuildingBaker.SmeltingModule, BuildingBeekeeper.HerdingModule, BuildingBlacksmith.CraftingModule, BuildingChickenHerder.HerdingModule, BuildingConcreteMixer.CraftingModule, BuildingCowboy.HerdingModule, BuildingCrusher.CraftingModule, BuildingDyer.CraftingModule, BuildingDyer.SmeltingModule, BuildingEnchanter.CraftingModule, BuildingFarmer.CraftingModule, BuildingFletcher.CraftingModule, BuildingFletcher.DOCraftingModule, BuildingGlassblower.CraftingModule, BuildingGlassblower.DOCraftingModule, BuildingGlassblower.SmeltingModule, BuildingKitchen.CraftingModule, BuildingKitchen.SmeltingModule, BuildingLumberjack.CraftingModule, BuildingMechanic.CraftingModule, BuildingMechanic.DOCraftingModule, BuildingNetherWorker.CraftingModule, BuildingPlantation.CraftingModule, BuildingSawmill.CraftingModule, BuildingSawmill.DOCraftingModule, BuildingShepherd.HerdingModule, BuildingSifter.CraftingModule, BuildingSmeltery.OreBreakingModule, BuildingSmeltery.SmeltingModule, BuildingStable.HerdingModule, BuildingStonemason.CraftingModule, BuildingStonemason.DOCraftingModule, BuildingStoneSmeltery.SmeltingModule, SimpleCraftingModule

public interface IHasRequiredItemsModule extends IBuildingModule
Module defining items to be left behind and not used otherwise.
  • Method Details

    • getRequiredItemsAndAmount

      Map<Predicate<net.minecraft.world.item.ItemStack>,net.minecraft.util.Tuple<Integer,Boolean>> getRequiredItemsAndAmount()
      Override this method if you want to keep an amount of items in inventory. When the inventory is full, everything get's dumped into the building chest. But you can use this method to hold some stacks back.
      Returns:
      a list of objects which should be kept.
    • reservedStacks

      default Map<ItemStorage,Integer> reservedStacks()
      Calculate the number of reserved stacks the resolver can't touch.
      Returns:
      a list of itemstorages.
    • reservedStacksExcluding

      Map<ItemStorage,Integer> reservedStacksExcluding(@Nullable @Nullable IRequest<? extends IDeliverable> excluded)
      Calculate the number of reserved stacks the resolver can't touch.
      Parameters:
      excluded - ignore reservations that would exist for the current request.
      Returns:
      a list of itemstorages.