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

public class Tool extends Object implements IDeliverable
Class used to represent equipment inside the request system.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Tool(@NotNull EquipmentTypeEntry equipmentType, @NotNull Integer minLevel, @NotNull Integer maxLevel)
     
    Tool(@NotNull EquipmentTypeEntry equipmentType, @NotNull Integer minLevel, @NotNull Integer maxLevel, @NotNull net.minecraft.world.item.ItemStack result)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    copyWithCount(int newCount)
    Creates a new instance of this requestable with the given count.
    static Tool
    deserialize(IFactoryController controller, net.minecraft.network.RegistryFriendlyByteBuf buffer)
    Deserialize the deliverable.
    static @NotNull Tool
    deserialize(net.minecraft.core.HolderLookup.Provider provider, IFactoryController controller, net.minecraft.nbt.CompoundTag nbt)
    Static method that constructs an instance from NBT.
    boolean
     
    int
    Method called to get the amount of items that need to be in the stack.
    Returns the equipment type that is requested.
    @NotNull Integer
    The maximum equipment level requested.
    int
    Method called to get the minimum amount required to fulfill this request.
    @NotNull Integer
    The minimal equipment level requested.
    @NotNull net.minecraft.world.item.ItemStack
    The resulting stack if set during creation, else ItemStack.Empty.
    Set<com.google.common.reflect.TypeToken<?>>
    Get the super classes associated to this request type.
    int
     
    boolean
    Check if the equipment is armor.
    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, Tool input)
    Serialize the deliverable.
    static @NotNull net.minecraft.nbt.CompoundTag
    serialize(net.minecraft.core.HolderLookup.Provider provider, IFactoryController controller, Tool equipment)
    Serializes this equipment into NBT.
    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

    • Tool

      public Tool(@NotNull @NotNull EquipmentTypeEntry equipmentType, @NotNull @NotNull Integer minLevel, @NotNull @NotNull Integer maxLevel)
    • Tool

      public Tool(@NotNull @NotNull EquipmentTypeEntry equipmentType, @NotNull @NotNull Integer minLevel, @NotNull @NotNull Integer maxLevel, @NotNull @NotNull net.minecraft.world.item.ItemStack result)
  • Method Details

    • serialize

      @NotNull public static @NotNull net.minecraft.nbt.CompoundTag serialize(@NotNull net.minecraft.core.HolderLookup.Provider provider, IFactoryController controller, Tool equipment)
      Serializes this equipment into NBT.
      Parameters:
      controller - The IFactoryController used to serialize sub types.
      equipment - the equipment to serialize.
      Returns:
      The CompoundTag containing the equipment data.
    • getEquipmentType

      @NotNull public @NotNull EquipmentTypeEntry getEquipmentType()
      Returns the equipment type that is requested.
      Returns:
      The equipment type that is requested.
    • getMinLevel

      @NotNull public @NotNull Integer getMinLevel()
      The minimal equipment level requested.
      Returns:
      The minimal equipment level requested.
    • getMaxLevel

      @NotNull public @NotNull Integer getMaxLevel()
      The maximum equipment level requested.
      Returns:
      The maximum equipment level requested.
    • deserialize

      @NotNull public static @NotNull Tool deserialize(@NotNull net.minecraft.core.HolderLookup.Provider provider, IFactoryController controller, net.minecraft.nbt.CompoundTag nbt)
      Static method that constructs an instance from NBT.
      Parameters:
      controller - The IFactoryController to deserialize components with.
      nbt - The nbt to serialize from.
      Returns:
      An instance of equipment with the data contained in the given NBT.
    • serialize

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

      public static Tool 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.
    • 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.
    • 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.
    • getResult

      @NotNull public @NotNull net.minecraft.world.item.ItemStack getResult()
      The resulting stack if set during creation, else ItemStack.Empty.
      Specified by:
      getResult in interface IDeliverable
      Returns:
      The resulting stack.
    • 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.
    • isArmor

      public boolean isArmor()
      Check if the equipment is armor.
      Returns:
      true if so.
    • hashCode

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

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • 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.