Class SimpleUnbakedExtraModel<T>

java.lang.Object
net.fabricmc.fabric.api.client.model.loading.v1.SimpleUnbakedExtraModel<T>
Type Parameters:
T - The type of the baked model, for instance BlockStateModel.
All Implemented Interfaces:
UnbakedExtraModel<T>, net.minecraft.client.resources.model.ResolvableModel

public final class SimpleUnbakedExtraModel<T> extends Object implements UnbakedExtraModel<T>
A UnbakedExtraModel that loads a single model.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface net.minecraft.client.resources.model.ResolvableModel

    net.minecraft.client.resources.model.ResolvableModel.Resolver
  • Constructor Summary

    Constructors
    Constructor
    Description
    SimpleUnbakedExtraModel(net.minecraft.resources.Identifier model, BiFunction<net.minecraft.client.resources.model.ResolvedModel,net.minecraft.client.resources.model.ModelBaker,T> bake)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    bake(net.minecraft.client.resources.model.ModelBaker baker)
    Bake this model.
    static SimpleUnbakedExtraModel<net.minecraft.client.renderer.block.model.BlockStateModel>
    blockStateModel(net.minecraft.resources.Identifier model)
    Create a SimpleUnbakedExtraModel for a BlockStateModel.
    static SimpleUnbakedExtraModel<net.minecraft.client.renderer.block.model.BlockStateModel>
    blockStateModel(net.minecraft.resources.Identifier model, net.minecraft.client.resources.model.ModelState settings)
    Create a SimpleUnbakedExtraModel for a BlockStateModel.
    void
    resolveDependencies(net.minecraft.client.resources.model.ResolvableModel.Resolver resolver)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SimpleUnbakedExtraModel

      public SimpleUnbakedExtraModel(net.minecraft.resources.Identifier model, BiFunction<net.minecraft.client.resources.model.ResolvedModel,net.minecraft.client.resources.model.ModelBaker,T> bake)
      Parameters:
      model - The location of the model to load.
      bake - A function to bake the model.
  • Method Details

    • blockStateModel

      public static SimpleUnbakedExtraModel<net.minecraft.client.renderer.block.model.BlockStateModel> blockStateModel(net.minecraft.resources.Identifier model)
      Create a SimpleUnbakedExtraModel for a BlockStateModel.

      Example

      public static final Identifier MODEL_ID = Identifier.fromNamespaceAndPath("modid", "model_path");
      public static final ExtraModelKey<BlockStateModel> MODEL_KEY = ExtraModelKey.create(MODEL_ID::toString);
      
      public static void register() {
      		ModelLoadingPlugin.register(pluginContext -> pluginContext.addModel(MODEL_KEY, SimpleUnbakedExtraModel.blockStateModel(MODEL_ID)));
      }
      
      Parameters:
      model - The location of the model to load.
      Returns:
      The unbaked extra model.
    • blockStateModel

      public static SimpleUnbakedExtraModel<net.minecraft.client.renderer.block.model.BlockStateModel> blockStateModel(net.minecraft.resources.Identifier model, net.minecraft.client.resources.model.ModelState settings)
      Create a SimpleUnbakedExtraModel for a BlockStateModel.
      Parameters:
      model - The location of the model to load.
      settings - The settings to bake the geometry with.
      Returns:
      The unbaked extra model.
    • resolveDependencies

      public void resolveDependencies(net.minecraft.client.resources.model.ResolvableModel.Resolver resolver)
      Specified by:
      resolveDependencies in interface net.minecraft.client.resources.model.ResolvableModel
    • bake

      public T bake(net.minecraft.client.resources.model.ModelBaker baker)
      Description copied from interface: UnbakedExtraModel
      Bake this model.
      Specified by:
      bake in interface UnbakedExtraModel<T>
      Parameters:
      baker - The current model baker.
      Returns:
      The fully-baked model.