User Tools

Site Tools


tutorial:custom_model

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
tutorial:custom_model [2020/08/14 07:12]
technici4n [custom model] Add a note regarding more dynamic rendering
tutorial:custom_model [2020/09/09 15:57] (current)
technici4n [custom model] Fix resource reloading "bug"
Line 197: Line 197:
  
 ==== Updating the model ==== ==== Updating the model ====
-We will re-use the same model class, with a few changes: +We will re-use the same model class, with just small change:
-  * We will register the same model instance under a different name, so we'll make sure the model is only baked once.+
   * We will need a ''​ModelTransformation''​ that rotates/​translates/​scales the model depending on its position (in right hand, in left hand, in gui, in item frame, etc...). As we are creating a model for a regular block, we will use the one from "​minecraft:​block/​block"​ which we will load during model baking.   * We will need a ''​ModelTransformation''​ that rotates/​translates/​scales the model depending on its position (in right hand, in left hand, in gui, in item frame, etc...). As we are creating a model for a regular block, we will use the one from "​minecraft:​block/​block"​ which we will load during model baking.
  
Line 206: Line 205:
     private static final Identifier DEFAULT_BLOCK_MODEL = new Identifier("​minecraft:​block/​block"​);​     private static final Identifier DEFAULT_BLOCK_MODEL = new Identifier("​minecraft:​block/​block"​);​
  
-    private boolean isBaked = false; 
     private ModelTransformation transformation;​     private ModelTransformation transformation;​
     ​     ​
Line 217: Line 215:
     @Override     @Override
     public BakedModel bake(ModelLoader loader, Function<​SpriteIdentifier,​ Sprite> textureGetter,​ ModelBakeSettings rotationContainer,​ Identifier modelId) {     public BakedModel bake(ModelLoader loader, Function<​SpriteIdentifier,​ Sprite> textureGetter,​ ModelBakeSettings rotationContainer,​ Identifier modelId) {
-        // Don't bake twice 
-        if(isBaked) return this; 
-        isBaked = true; 
-        ​ 
         // Load the default block model         // Load the default block model
         JsonUnbakedModel defaultBlockModel = (JsonUnbakedModel) loader.getOrLoadModel(DEFAULT_BLOCK_MODEL);​         JsonUnbakedModel defaultBlockModel = (JsonUnbakedModel) loader.getOrLoadModel(DEFAULT_BLOCK_MODEL);​
tutorial/custom_model.txt · Last modified: 2020/09/09 15:57 by technici4n