Class StandardRequestFactories.ToolRequestFactory

java.lang.Object
com.minecolonies.core.colony.requestsystem.requests.StandardRequestFactories.ToolRequestFactory
All Implemented Interfaces:
IFactory<Tool,StandardRequests.ToolRequest>, IRequestFactory<Tool,StandardRequests.ToolRequest>
Enclosing class:
StandardRequestFactories

public static final class StandardRequestFactories.ToolRequestFactory extends Object implements IRequestFactory<Tool,StandardRequests.ToolRequest>
  • Constructor Details

    • ToolRequestFactory

      public ToolRequestFactory()
  • Method Details

    • getNewInstance

      public StandardRequests.ToolRequest getNewInstance(@NotNull @NotNull Tool input, @NotNull @NotNull IRequester location, @NotNull @NotNull IToken<?> token, @NotNull @NotNull RequestState initialState)
      Description copied from interface: IRequestFactory
      Method to get a new instance of a request given the input and token.
      Specified by:
      getNewInstance in interface IRequestFactory<Tool,StandardRequests.ToolRequest>
      Parameters:
      input - The input to build a new request for.
      location - the location of the requester.
      token - The token to build the request from.
      initialState - The initial state of the request request.
      Returns:
      The new output instance for a given input.
    • getFactoryOutputType

      @NotNull public @NotNull com.google.common.reflect.TypeToken<? extends StandardRequests.ToolRequest> getFactoryOutputType()
      Description copied from interface: IFactory
      Method to get the type this factory can produce.
      Specified by:
      getFactoryOutputType in interface IFactory<Tool,StandardRequests.ToolRequest>
      Returns:
      The type of request this factory can produce.
    • getFactoryInputType

      @NotNull public @NotNull com.google.common.reflect.TypeToken<? extends Tool> getFactoryInputType()
      Description copied from interface: IFactory
      Used to determine which type this can produce.
      Specified by:
      getFactoryInputType in interface IFactory<Tool,StandardRequests.ToolRequest>
      Returns:
      The class that represents the Type of Request this can produce.
    • serialize

      @NotNull public @NotNull net.minecraft.nbt.CompoundTag serialize(@NotNull net.minecraft.core.HolderLookup.Provider provider, @NotNull @NotNull IFactoryController controller, @NotNull StandardRequests.ToolRequest request)
      Description copied from interface: IFactory
      Method to serialize a given constructable.
      Specified by:
      serialize in interface IFactory<Tool,StandardRequests.ToolRequest>
      Parameters:
      controller - The controller that can be used to serialize complicated types.
      request - The request to serialize.
      Returns:
      The serialized data of the given requets.
    • deserialize

      @NotNull public StandardRequests.ToolRequest deserialize(@NotNull net.minecraft.core.HolderLookup.Provider provider, @NotNull @NotNull IFactoryController controller, @NotNull @NotNull net.minecraft.nbt.CompoundTag nbt)
      Description copied from interface: IFactory
      Method to deserialize a given constructable.
      Specified by:
      deserialize in interface IFactory<Tool,StandardRequests.ToolRequest>
      Parameters:
      controller - The controller that can be used to deserialize complicated types.
      nbt - The data of the request that should be deserialized.
      Returns:
      The request that corresponds with the given data in the nbt
    • serialize

      public void serialize(IFactoryController controller, StandardRequests.ToolRequest input, net.minecraft.network.RegistryFriendlyByteBuf packetBuffer)
      Description copied from interface: IFactory
      Method to serialize a given constructable.
      Specified by:
      serialize in interface IFactory<Tool,StandardRequests.ToolRequest>
      Parameters:
      controller - The controller that can be used to serialize complicated types.
      input - The request to serialize.
      packetBuffer - The buffer to serialize into.
    • deserialize

      public StandardRequests.ToolRequest deserialize(IFactoryController controller, net.minecraft.network.RegistryFriendlyByteBuf buffer) throws Throwable
      Description copied from interface: IFactory
      Method to deserialize a given constructable.
      Specified by:
      deserialize in interface IFactory<Tool,StandardRequests.ToolRequest>
      Parameters:
      controller - The controller that can be used to deserialize complicated types.
      buffer - The data buffer of the request that should be deserialized.
      Returns:
      The request that corresponds with the given data in the nbt
      Throws:
      Throwable
    • getSerializationId

      public short getSerializationId()
      Description copied from interface: IFactory
      Get a serialization id for the factory.
      Specified by:
      getSerializationId in interface IFactory<Tool,StandardRequests.ToolRequest>
      Returns:
      the short id.