− | A “model” is simply a shape. It can be a simple cube, it can be several cubes, it can be a truncated icosidodecahedron, or anything in between. Most models you’ll see will be in the vanilla JSON format. Models in other formats are loaded into an <code>IModelGeometry</code> by an <code>IModelLoader</code> at runtime. Forge provides default implementations for WaveFront OBJ files, buckets, composite models, models in different render layers, and a reimplementation of Vanilla's <code>builtin/generated</code> item model. Most things do not care about what loaded the model or what format it’s in as they all "bake" into an <code>BakedModel</code>. | + | A “model” is simply a shape. It can be a simple cube, it can be several cubes, it can be a truncated icosidodecahedron, or anything in between. Most models you’ll see will be in the vanilla JSON format. Models in other formats are loaded into an <code>IUnbakedGeometry</code> by an <code>IGeometryLoader</code> at runtime. Forge provides default implementations for WaveFront OBJ files, buckets, composite models, models in different render layers, and a reimplementation of Vanilla's <code>builtin/generated</code> item model. Most things do not care about what loaded the model or what format it’s in as they all "bake" into an <code>BakedModel</code>. |
| When <code>ResourceLocation</code> refers to a model, the path is normally relative to <code>models</code> (e.g. <code><nowiki>examplemod:block/block</nowiki></code> → <code><nowiki>assets/examplemod/models/block/block</nowiki></code>). | | When <code>ResourceLocation</code> refers to a model, the path is normally relative to <code>models</code> (e.g. <code><nowiki>examplemod:block/block</nowiki></code> → <code><nowiki>assets/examplemod/models/block/block</nowiki></code>). |