1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-09-10 06:15:59 +00:00

Quick patch to fix rendering issues with OptiFine

OptiFine seems to cause NullPointerException when it cannot find loader.spriteAtlas::getSprite method in ModelItemPropertyOverrideList constructor.

Fixes #1
This commit is contained in:
parly
2019-09-27 23:36:03 +09:00
parent dfad319864
commit 98e12c7c3e
2 changed files with 4 additions and 2 deletions

View File

@@ -84,6 +84,7 @@ public final class TurtleModelLoader
public BakedModel bake( @Nonnull ModelLoader loader, @Nonnull Function<Identifier, Sprite> spriteGetter, @Nonnull ModelBakeSettings state ) public BakedModel bake( @Nonnull ModelLoader loader, @Nonnull Function<Identifier, Sprite> spriteGetter, @Nonnull ModelBakeSettings state )
{ {
return new TurtleSmartItemModel( return new TurtleSmartItemModel(
loader,
loader.getOrLoadModel( family ).bake( loader, spriteGetter, state ), loader.getOrLoadModel( family ).bake( loader, spriteGetter, state ),
loader.getOrLoadModel( COLOUR_TURTLE_MODEL ).bake( loader, spriteGetter, state ) loader.getOrLoadModel( COLOUR_TURTLE_MODEL ).bake( loader, spriteGetter, state )
); );

View File

@@ -17,6 +17,7 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.model.BakedModel; import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.BakedModelManager; import net.minecraft.client.render.model.BakedModelManager;
import net.minecraft.client.render.model.BakedQuad; import net.minecraft.client.render.model.BakedQuad;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.render.model.json.ModelItemPropertyOverrideList; import net.minecraft.client.render.model.json.ModelItemPropertyOverrideList;
import net.minecraft.client.render.model.json.ModelTransformation; import net.minecraft.client.render.model.json.ModelTransformation;
import net.minecraft.client.texture.Sprite; import net.minecraft.client.texture.Sprite;
@@ -106,13 +107,13 @@ public class TurtleSmartItemModel implements BakedModel
private HashMap<TurtleModelCombination, BakedModel> m_cachedModels; private HashMap<TurtleModelCombination, BakedModel> m_cachedModels;
private ModelItemPropertyOverrideList m_overrides; private ModelItemPropertyOverrideList m_overrides;
public TurtleSmartItemModel( BakedModel familyModel, BakedModel colourModel ) public TurtleSmartItemModel( ModelLoader loader, BakedModel familyModel, BakedModel colourModel )
{ {
this.familyModel = familyModel; this.familyModel = familyModel;
this.colourModel = colourModel; this.colourModel = colourModel;
m_cachedModels = new HashMap<>(); m_cachedModels = new HashMap<>();
m_overrides = new ModelItemPropertyOverrideList( null, null, null, Collections.emptyList() ) m_overrides = new ModelItemPropertyOverrideList( loader, null, null, Collections.emptyList() )
{ {
@Nonnull @Nonnull
@Override @Override