Interface TurtleUpgradeModel

All Known Implementing Classes:
BasicUpgradeModel, ItemUpgradeModel, SelectUpgradeModel

public interface TurtleUpgradeModel
The model for a ITurtleUpgrade.

Turtle upgrade models are very similar to vanilla's ItemModel. Each upgrade's model is defined in JSON, and loaded from resource packs with other assets.

In most cases, upgrades can use one of the existing implementations of TurtleUpgradeModel (e.g. BasicUpgradeModel or ItemUpgradeModel), and do not need to subclass it. However, in the cases where a custom model is required, one should use dan200.computercraft.api.client.FabricComputerCraftAPIClient#registerTurtleUpgradeModel to register a model on Fabric and dan200.computercraft.api.client.turtle.RegisterTurtleModelEvent to register one on Forge.

See ITurtleUpgrade for a full example of registering turtle upgrades and their models.

See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    An unbaked turtle model.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final com.mojang.serialization.Codec<TurtleUpgradeModel.Unbaked>
    The codec used to read/write unbaked upgrade models.
    static final String
    The directory from which turtle upgrade models are loaded.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    renderForItem(UpgradeData<ITurtleUpgrade> upgrade, TurtleSide side, net.minecraft.client.renderer.item.ItemStackRenderState renderer, net.minecraft.client.renderer.item.ItemModelResolver resolver, net.minecraft.client.resources.model.cuboid.ItemTransform transform, int seed)
    Render this upgrade to an ItemStackRenderState.
  • Field Details

  • Method Details

    • renderForItem

      void renderForItem(UpgradeData<ITurtleUpgrade> upgrade, TurtleSide side, net.minecraft.client.renderer.item.ItemStackRenderState renderer, net.minecraft.client.renderer.item.ItemModelResolver resolver, net.minecraft.client.resources.model.cuboid.ItemTransform transform, int seed)
      Render this upgrade to an ItemStackRenderState. This is used for rendering the item form of the upgrade.

      Like with ItemModel, implementations must be careful to call ItemStackRenderState.appendModelIdentityElement(Object) where appropriate.

      Parameters:
      upgrade - The upgrade being rendered.
      side - Which side of the turtle (left or right) the upgrade is equipped on.
      renderer - The render state to draw to.
      resolver - The model resolver.
      transform - The root model's transformation.
      seed - The current model seed.
      See Also:
      • ItemModel.update(ItemStackRenderState, ItemStack, ItemModelResolver, ItemDisplayContext, ClientLevel, ItemOwner, int)