Class ModelBuilder<T extends ModelBuilder<T>>
java.lang.Object
net.minecraftforge.client.model.generators.ModelFile
net.minecraftforge.client.model.generators.ModelBuilder<T>
- Type Parameters:
T- Self type, for simpler chaining of methods.
- Direct Known Subclasses:
BlockModelBuilder,ItemModelBuilder
General purpose model builder, contains all the commonalities between item
and block models.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassstatic enumclassclassNested classes/interfaces inherited from class net.minecraftforge.client.model.generators.ModelFile
ModelFile.ExistingModelFile, ModelFile.UncheckedModelFile -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected CustomLoaderBuilder<T>protected final List<ModelBuilder<T>.ElementBuilder>protected final ExistingFileHelperprotected BlockModel.GuiLightprotected @Nullable ModelFileprotected Stringprivate final ModelBuilder<T>.RootTransformsBuilderprotected final ModelBuilder<T>.TransformsBuilder -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedModelBuilder(ResourceLocation outputLocation, ExistingFileHelper existingFileHelper) -
Method Summary
Modifier and TypeMethodDescriptionao(boolean ao) <L extends CustomLoaderBuilder<T>>
LcustomLoader(BiFunction<T, ExistingFileHelper, L> customLoaderFactory) Use a custom loader instead of the vanilla elements.element()element(int index) Get an existing element builderprotected booleanexists()intReturns the number of elements in this model builder.guiLight(BlockModel.GuiLight light) Set the parent model for the current model.renderType(String renderType) Set the render type for this model.renderType(ResourceLocation renderType) Set the render type for this model.private Tself()private NumberserializeFloat(float f) private StringserializeLocOrKey(String tex) private com.google.gson.JsonArrayserializeVector3f(org.joml.Vector3f vec) Set the texture for a given dictionary key.texture(String key, ResourceLocation texture) Set the texture for a given dictionary key.com.google.gson.JsonObjecttoJson()Methods inherited from class net.minecraftforge.client.model.generators.ModelFile
assertExistence, getLocation, getUncheckedLocation
-
Field Details
-
parent
-
textures
-
transforms
-
existingFileHelper
-
renderType
-
ambientOcclusion
protected boolean ambientOcclusion -
guiLight
-
elements
-
customLoader
-
rootTransforms
-
-
Constructor Details
-
ModelBuilder
-
-
Method Details
-
self
-
exists
protected boolean exists() -
parent
Set the parent model for the current model.- Parameters:
parent- the parent model- Returns:
- this builder
- Throws:
NullPointerException- ifparentisnullIllegalStateException- ifparentdoes notexist
-
texture
Set the texture for a given dictionary key.- Parameters:
key- the texture keytexture- the texture, can be another key e.g."#all"- Returns:
- this builder
- Throws:
NullPointerException- ifkeyisnullNullPointerException- iftextureisnullIllegalStateException- iftextureis not a key (does not start with'#') and does not exist in any known resource pack
-
texture
Set the texture for a given dictionary key.- Parameters:
key- the texture keytexture- the texture- Returns:
- this builder
- Throws:
NullPointerException- ifkeyisnullNullPointerException- iftextureisnullIllegalStateException- iftextureis not a key (does not start with'#') and does not exist in any known resource pack
-
renderType
Set the render type for this model.- Parameters:
renderType- the render type. Must be registered viaRegisterNamedRenderTypesEvent- Returns:
- this builder
- Throws:
NullPointerException- ifrenderTypeisnull
-
renderType
Set the render type for this model.- Parameters:
renderType- the render type. Must be registered viaRegisterNamedRenderTypesEvent- Returns:
- this builder
- Throws:
NullPointerException- ifrenderTypeisnull
-
transforms
-
ao
-
guiLight
-
element
-
element
Get an existing element builder- Parameters:
index- the index of the existing element builder- Returns:
- the element builder
- Throws:
IndexOutOfBoundsException- if index is out of bounds
-
getElementCount
public int getElementCount()Returns the number of elements in this model builder.- Returns:
- the number of elements in this model builder
-
customLoader
public <L extends CustomLoaderBuilder<T>> L customLoader(BiFunction<T, ExistingFileHelper, L> customLoaderFactory) Use a custom loader instead of the vanilla elements.- Parameters:
customLoaderFactory- function that returns the custom loader to set, given this and theexistingFileHelper- Returns:
- the custom loader builder
-
rootTransforms
-
toJson
@VisibleForTesting public com.google.gson.JsonObject toJson() -
serializeLocOrKey
-
serializeVector3f
private com.google.gson.JsonArray serializeVector3f(org.joml.Vector3f vec) -
serializeFloat
-