Interface TurtleUpgradeSerialiser<T extends ITurtleUpgrade>
- Type Parameters:
 T- The type of turtle upgrade this is responsible for serialising.
- All Superinterfaces:
 UpgradeSerialiser<T>
ITurtleUpgrade from disk and reads/writes it to a network packet.
 
 These should be registered in a Registry while the game is loading, much like RecipeSerializers.
 
 If your turtle upgrade doesn't have any associated configurable parameters (like most upgrades), you can use
 simple(Function) or simpleWithCustomItem(BiFunction) to create a basic upgrade serialiser.
 
Example (Forge)
 static final DeferredRegister<TurtleUpgradeSerialiser<?>> SERIALISERS = DeferredRegister.create( TurtleUpgradeSerialiser.TYPE, "my_mod" );
 // Register a new upgrade serialiser called "my_upgrade".
 public static final RegistryObject<TurtleUpgradeSerialiser<MyUpgrade>> MY_UPGRADE =
     SERIALISERS.register( "my_upgrade", () -> TurtleUpgradeSerialiser.simple( MyUpgrade::new ) );
 // Then in your constructor
 SERIALISERS.register( bus );
 
 We can then define a new upgrade using JSON by placing the following in data/<my_mod>/computercraft/turtle_upgrades/<my_upgrade_id>.json}.
 {
     "type": my_mod:my_upgrade",
 }
 
 
 Finally, we need to register a model for our upgrade. This is done with
 ComputerCraftAPIClient.registerTurtleUpgradeModeller(dan200.computercraft.api.turtle.TurtleUpgradeSerialiser<T>, dan200.computercraft.api.client.turtle.TurtleUpgradeModeller<T>):
 
 // Register our model inside FMLClientSetupEvent
 ComputerCraftAPIClient.registerTurtleUpgradeModeller(MY_UPGRADE.get(), TurtleUpgradeModeller.flatItem())
 
 
 TurtleUpgradeDataProvider provides a data provider to aid with generating these JSON files.
- 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final net.minecraft.resources.ResourceKey<net.minecraft.core.Registry<TurtleUpgradeSerialiser<?>>>Deprecated, for removal: This API element is subject to removal in a future version. - 
Method Summary
Static MethodsModifier and TypeMethodDescriptionstatic net.minecraft.resources.ResourceKey<net.minecraft.core.Registry<TurtleUpgradeSerialiser<?>>>The ID for the associated registry.static <T extends ITurtleUpgrade>
TurtleUpgradeSerialiser<T>Create an upgrade serialiser for a simple upgrade.static <T extends ITurtleUpgrade>
TurtleUpgradeSerialiser<T>simpleWithCustomItem(BiFunction<net.minecraft.resources.ResourceLocation, net.minecraft.world.item.ItemStack, T> factory) Create an upgrade serialiser for a simple upgrade whose crafting item can be specified.Methods inherited from interface dan200.computercraft.api.upgrades.UpgradeSerialiser
fromJson, fromNetwork, toNetwork 
- 
Field Details
- 
REGISTRY_ID
@Deprecated(forRemoval=true) static final net.minecraft.resources.ResourceKey<net.minecraft.core.Registry<TurtleUpgradeSerialiser<?>>> REGISTRY_IDDeprecated, for removal: This API element is subject to removal in a future version.UseregistryId()instead.The ID for the associated registry. 
 - 
 - 
Method Details
- 
registryId
static net.minecraft.resources.ResourceKey<net.minecraft.core.Registry<TurtleUpgradeSerialiser<?>>> registryId()The ID for the associated registry.- Returns:
 - The registry key.
 
 - 
simple
static <T extends ITurtleUpgrade> TurtleUpgradeSerialiser<T> simple(Function<net.minecraft.resources.ResourceLocation, T> factory) Create an upgrade serialiser for a simple upgrade. This is similar to aSimpleCraftingRecipeSerializer, but for upgrades.If you might want to vary the item, it's suggested you use
simpleWithCustomItem(BiFunction)instead.- Type Parameters:
 T- The type of the generated upgrade.- Parameters:
 factory- Generate a new upgrade with a specific ID.- Returns:
 - The serialiser for this upgrade
 
 - 
simpleWithCustomItem
static <T extends ITurtleUpgrade> TurtleUpgradeSerialiser<T> simpleWithCustomItem(BiFunction<net.minecraft.resources.ResourceLocation, net.minecraft.world.item.ItemStack, T> factory) Create an upgrade serialiser for a simple upgrade whose crafting item can be specified.- Type Parameters:
 T- The type of the generated upgrade.- Parameters:
 factory- Generate a new upgrade with a specific ID and crafting item. The returned upgrade'sUpgradeBase.getCraftingItem()MUST equal the provided item.- Returns:
 - The serialiser for this upgrade.
 - See Also:
 
 
 - 
 
registryId()instead.