java.lang.Object
com.minecolonies.api.colony.requestsystem.requestable.StackList
All Implemented Interfaces:
IConcreteDeliverable, IDeliverable, INonExhaustiveDeliverable, IRequestable, IRetryable

public class StackList extends Object implements IConcreteDeliverable, INonExhaustiveDeliverable
Deliverable that can only be fulfilled by a single stack with a given minimal amount of items matching one of a list of stacks.
  • Constructor Summary

    Constructors
    Constructor
    Description
    StackList(@NotNull List<net.minecraft.world.item.ItemStack> stacks, boolean matchMeta, boolean matchNBT, boolean matchOreDic, @NotNull net.minecraft.world.item.ItemStack result, String description, int count, int minCount, int leftOver)
    Create a Stacks deliverable.
    StackList(@NotNull List<net.minecraft.world.item.ItemStack> stacks, String description, int count)
    Create a Stacks deliverable.
    StackList(@NotNull List<net.minecraft.world.item.ItemStack> stacks, String description, int count, int minCount)
    Create a Stacks deliverable.
    StackList(@NotNull List<net.minecraft.world.item.ItemStack> stacks, String description, int count, int minCount, int leftOver)
    Create a Stacks deliverable.
    StackList(@NotNull net.minecraft.tags.TagKey<net.minecraft.world.item.Item> tag, @NotNull net.minecraft.server.level.ServerLevel level, String description, int count, int minCount, int leftOver)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    copyWithCount(int newCount)
    Creates a new instance of this requestable with the given count.
    static StackList
    deserialize(IFactoryController controller, net.minecraft.network.RegistryFriendlyByteBuf buffer)
    Deserialize the deliverable.
    static StackList
    deserialize(net.minecraft.core.HolderLookup.Provider provider, IFactoryController controller, net.minecraft.nbt.CompoundTag compound)
    Deserialize the deliverable.
    boolean
     
    int
    Method called to get the amount of items that need to be in the stack.
    Getter for the display description of the list.
    int
    Get the amount that is supposed to be kept left over at the warehouse.
    int
    Method called to get the minimum amount required to fulfill this request.
    List<net.minecraft.world.item.ItemStack>
    Get a list of concrete items requested by this deliverable
    @NotNull net.minecraft.world.item.ItemStack
    Method to get the result of the delivery.
    @NotNull List<net.minecraft.world.item.ItemStack>
     
    Set<com.google.common.reflect.TypeToken<?>>
    Get the super classes associated to this request type.
    int
     
    boolean
    matches(@NotNull net.minecraft.world.item.ItemStack stack)
    Method called to check if a given stack matches this deliverable.
    static void
    serialize(IFactoryController controller, net.minecraft.network.RegistryFriendlyByteBuf buffer, StackList input)
    Serialize the deliverable.
    static net.minecraft.nbt.CompoundTag
    serialize(net.minecraft.core.HolderLookup.Provider provider, IFactoryController controller, StackList input)
    Serialize the deliverable.
    void
    setResult(@NotNull net.minecraft.world.item.ItemStack result)
    Method to set the result of a delivery.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.minecolonies.api.colony.requestsystem.requestable.IDeliverable

    canBeResolvedByBuilding
  • Constructor Details

    • StackList

      public StackList(@NotNull @NotNull List<net.minecraft.world.item.ItemStack> stacks, String description, int count)
      Create a Stacks deliverable.
      Parameters:
      stacks - the required stacks.
      description - the description.
      count - the count.
    • StackList

      public StackList(@NotNull @NotNull List<net.minecraft.world.item.ItemStack> stacks, String description, int count, int minCount)
      Create a Stacks deliverable.
      Parameters:
      stacks - the required stacks.
      description - the description.
      count - the count.
      minCount - the min count.
    • StackList

      public StackList(@NotNull @NotNull List<net.minecraft.world.item.ItemStack> stacks, String description, int count, int minCount, int leftOver)
      Create a Stacks deliverable.
      Parameters:
      stacks - the required stacks.
      description - the description.
      count - the count.
      minCount - the min count.
      leftOver - the amount to be left over.
    • StackList

      public StackList(@NotNull @NotNull List<net.minecraft.world.item.ItemStack> stacks, boolean matchMeta, boolean matchNBT, boolean matchOreDic, @NotNull @NotNull net.minecraft.world.item.ItemStack result, String description, int count, int minCount, int leftOver)
      Create a Stacks deliverable.
      Parameters:
      stacks - the required stacks.
      matchMeta - if meta has to be matched.
      matchNBT - if NBT has to be matched.
      matchOreDic - if the oredict has to be matched.
      result - the result stack.
      description - the description.
      count - the count.
      minCount - the min count.
      leftOver - the left over amount.
    • StackList

      public StackList(@NotNull @NotNull net.minecraft.tags.TagKey<net.minecraft.world.item.Item> tag, @NotNull @NotNull net.minecraft.server.level.ServerLevel level, String description, int count, int minCount, int leftOver)
  • Method Details

    • serialize

      public static net.minecraft.nbt.CompoundTag serialize(@NotNull net.minecraft.core.HolderLookup.Provider provider, IFactoryController controller, StackList input)
      Serialize the deliverable.
      Parameters:
      controller - the controller.
      input - the input.
      Returns:
      the compound.
    • deserialize

      public static StackList deserialize(@NotNull net.minecraft.core.HolderLookup.Provider provider, IFactoryController controller, net.minecraft.nbt.CompoundTag compound)
      Deserialize the deliverable.
      Parameters:
      controller - the controller.
      compound - the compound.
      Returns:
      the deliverable.
    • serialize

      public static void serialize(IFactoryController controller, net.minecraft.network.RegistryFriendlyByteBuf buffer, StackList input)
      Serialize the deliverable.
      Parameters:
      controller - the controller.
      buffer - the the buffer to write to.
      input - the input to serialize.
    • deserialize

      public static StackList deserialize(IFactoryController controller, net.minecraft.network.RegistryFriendlyByteBuf buffer)
      Deserialize the deliverable.
      Parameters:
      controller - the controller.
      buffer - the buffer to read.
      Returns:
      the deliverable.
    • matches

      public boolean matches(@NotNull @NotNull net.minecraft.world.item.ItemStack stack)
      Description copied from interface: IDeliverable
      Method called to check if a given stack matches this deliverable. The first stack that returns true from this method is returned as a Deliverable.
      Specified by:
      matches in interface IDeliverable
      Parameters:
      stack - The stack to test.
      Returns:
      true when the stack matches. False when not.
    • getMinimumCount

      public int getMinimumCount()
      Description copied from interface: IDeliverable
      Method called to get the minimum amount required to fulfill this request.
      Specified by:
      getMinimumCount in interface IDeliverable
      Returns:
      the minimum amount.
    • getCount

      public int getCount()
      Description copied from interface: IDeliverable
      Method called to get the amount of items that need to be in the stack.
      Specified by:
      getCount in interface IDeliverable
      Returns:
      The amount of items.
    • getLeftOver

      public int getLeftOver()
      Description copied from interface: INonExhaustiveDeliverable
      Get the amount that is supposed to be kept left over at the warehouse.
      Specified by:
      getLeftOver in interface INonExhaustiveDeliverable
      Returns:
      the amount.
    • getStacks

      @NotNull public @NotNull List<net.minecraft.world.item.ItemStack> getStacks()
    • setResult

      public void setResult(@NotNull @NotNull net.minecraft.world.item.ItemStack result)
      Description copied from interface: IDeliverable
      Method to set the result of a delivery.
      Specified by:
      setResult in interface IDeliverable
      Parameters:
      result - The result of the delivery.
    • copyWithCount

      public IDeliverable copyWithCount(int newCount)
      Description copied from interface: IDeliverable
      Creates a new instance of this requestable with the given count.
      Specified by:
      copyWithCount in interface IDeliverable
      Parameters:
      newCount - The new requestable, with the requested count.
      Returns:
      the deliverable.
    • getResult

      @NotNull public @NotNull net.minecraft.world.item.ItemStack getResult()
      Description copied from interface: IDeliverable
      Method to get the result of the delivery.
      Specified by:
      getResult in interface IDeliverable
      Returns:
      The result of the delivery.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getDescription

      public String getDescription()
      Getter for the display description of the list.
      Returns:
      the description.
    • getRequestedItems

      public List<net.minecraft.world.item.ItemStack> getRequestedItems()
      Description copied from interface: IConcreteDeliverable
      Get a list of concrete items requested by this deliverable
      Specified by:
      getRequestedItems in interface IConcreteDeliverable
      Returns:
    • getSuperClasses

      public Set<com.google.common.reflect.TypeToken<?>> getSuperClasses()
      Description copied from interface: IRequestable
      Get the super classes associated to this request type.
      Specified by:
      getSuperClasses in interface IRequestable
      Returns:
      the type.