Class TypeTokenFactory
java.lang.Object
com.minecolonies.api.colony.requestsystem.factory.standard.TypeTokenFactory
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.google.common.reflect.TypeToken<?> deserialize(IFactoryController controller, net.minecraft.network.RegistryFriendlyByteBuf buffer) Method to deserialize a given constructable.@NotNull com.google.common.reflect.TypeToken<?> deserialize(net.minecraft.core.HolderLookup.Provider provider, @NotNull IFactoryController controller, @NotNull net.minecraft.nbt.CompoundTag nbt) Method to deserialize a given constructable.@NotNull com.google.common.reflect.TypeToken<? extends Class<?>> Used to determine which type this can produce.@NotNull com.google.common.reflect.TypeToken<? extends com.google.common.reflect.TypeToken<?>> Method to get the type this factory can produce.@NotNull com.google.common.reflect.TypeToken<?> getNewInstance(@NotNull IFactoryController factoryController, @NotNull Class<?> aClass, @NotNull Object... context) Method to get a new instance of the output given the input and additional context data.shortGet a serialization id for the factory.voidserialize(IFactoryController controller, com.google.common.reflect.TypeToken<?> input, net.minecraft.network.RegistryFriendlyByteBuf packetBuffer) Method to serialize a given constructable.@NotNull net.minecraft.nbt.CompoundTagserialize(net.minecraft.core.HolderLookup.Provider provider, @NotNull IFactoryController controller, @NotNull com.google.common.reflect.TypeToken<?> typeToken) Method to serialize a given constructable.
-
Constructor Details
-
TypeTokenFactory
public TypeTokenFactory()
-
-
Method Details
-
getFactoryOutputType
@NotNull public @NotNull com.google.common.reflect.TypeToken<? extends com.google.common.reflect.TypeToken<?>> getFactoryOutputType()Description copied from interface:IFactoryMethod to get the type this factory can produce.- Specified by:
getFactoryOutputTypein interfaceIFactory<Class<?>,com.google.common.reflect.TypeToken<?>> - Returns:
- The type of request this factory can produce.
-
getFactoryInputType
@NotNull public @NotNull com.google.common.reflect.TypeToken<? extends Class<?>> getFactoryInputType()Description copied from interface:IFactoryUsed to determine which type this can produce.- Specified by:
getFactoryInputTypein interfaceIFactory<Class<?>,com.google.common.reflect.TypeToken<?>> - Returns:
- The class that represents the Type of Request this can produce.
-
getNewInstance
@NotNull public @NotNull com.google.common.reflect.TypeToken<?> getNewInstance(@NotNull @NotNull IFactoryController factoryController, @NotNull @NotNull Class<?> aClass, @NotNull @NotNull Object... context) throws IllegalArgumentException Description copied from interface:IFactoryMethod to get a new instance of the output given the input and additional context data.- Specified by:
getNewInstancein interfaceIFactory<Class<?>,com.google.common.reflect.TypeToken<?>> - Parameters:
factoryController- The controller calling this factory method.aClass- The input to build a new output for.context- The context of the request.- Returns:
- The new output instance for a given input.
- Throws:
IllegalArgumentException- is thrown when the factory cannot produce a new instance out of the given context and input.
-
serialize
@NotNull public @NotNull net.minecraft.nbt.CompoundTag serialize(@NotNull net.minecraft.core.HolderLookup.Provider provider, @NotNull @NotNull IFactoryController controller, @NotNull @NotNull com.google.common.reflect.TypeToken<?> typeToken) Description copied from interface:IFactoryMethod to serialize a given constructable. -
deserialize
@NotNull public @NotNull com.google.common.reflect.TypeToken<?> deserialize(@NotNull net.minecraft.core.HolderLookup.Provider provider, @NotNull @NotNull IFactoryController controller, @NotNull @NotNull net.minecraft.nbt.CompoundTag nbt) throws Throwable Description copied from interface:IFactoryMethod to deserialize a given constructable.- Specified by:
deserializein interfaceIFactory<Class<?>,com.google.common.reflect.TypeToken<?>> - 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
- Throws:
Throwable
-
serialize
public void serialize(IFactoryController controller, com.google.common.reflect.TypeToken<?> input, net.minecraft.network.RegistryFriendlyByteBuf packetBuffer) Description copied from interface:IFactoryMethod to serialize a given constructable. -
deserialize
public com.google.common.reflect.TypeToken<?> deserialize(IFactoryController controller, net.minecraft.network.RegistryFriendlyByteBuf buffer) throws Throwable Description copied from interface:IFactoryMethod to deserialize a given constructable.- Specified by:
deserializein interfaceIFactory<Class<?>,com.google.common.reflect.TypeToken<?>> - 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:IFactoryGet a serialization id for the factory.- Specified by:
getSerializationIdin interfaceIFactory<Class<?>,com.google.common.reflect.TypeToken<?>> - Returns:
- the short id.
-