From 744ac69fb72482ab2145f6a609e4707beed99736 Mon Sep 17 00:00:00 2001 From: Sebastian Hartte Date: Mon, 3 Oct 2016 21:34:01 +0200 Subject: [PATCH] Fixes #2419: Particle Textures are required, or the block damage model will crash. Also fixed an issue with textures not being propagated for UVL quads. --- .../appeng/client/render/cablebus/CableBusBakedModel.java | 7 +++++-- .../java/appeng/client/render/cablebus/CableBusModel.java | 7 +++++-- .../java/appeng/client/render/model/UVLModelLoader.java | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java b/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java index 94aa3f15a..fddd96a39 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java +++ b/src/main/java/appeng/client/render/cablebus/CableBusBakedModel.java @@ -52,11 +52,14 @@ public class CableBusBakedModel implements IBakedModel private final Map partModels; - CableBusBakedModel( CableBuilder cableBuilder, FacadeBuilder facadeBuilder, Map partModels ) + private final TextureAtlasSprite particleTexture; + + CableBusBakedModel( CableBuilder cableBuilder, FacadeBuilder facadeBuilder, Map partModels, TextureAtlasSprite particleTexture ) { this.cableBuilder = cableBuilder; this.facadeBuilder = facadeBuilder; this.partModels = partModels; + this.particleTexture = particleTexture; } @Override @@ -272,7 +275,7 @@ public class CableBusBakedModel implements IBakedModel @Override public TextureAtlasSprite getParticleTexture() { - return null; + return particleTexture; } @Override diff --git a/src/main/java/appeng/client/render/cablebus/CableBusModel.java b/src/main/java/appeng/client/render/cablebus/CableBusModel.java index 0722f18b7..c1d90d306 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBusModel.java +++ b/src/main/java/appeng/client/render/cablebus/CableBusModel.java @@ -35,6 +35,7 @@ import net.minecraftforge.client.model.ModelLoaderRegistry; import net.minecraftforge.common.model.IModelState; import net.minecraftforge.common.model.TRSRTransformation; +import appeng.api.util.AEColor; import appeng.core.AELog; import appeng.core.features.registries.PartModels; @@ -71,13 +72,15 @@ public class CableBusModel implements IModel @Override public IBakedModel bake( IModelState state, VertexFormat format, Function bakedTextureGetter ) { - Map partModels = loadPartModels( state, format, bakedTextureGetter ); CableBuilder cableBuilder = new CableBuilder( format, bakedTextureGetter ); FacadeBuilder facadeBuilder = new FacadeBuilder( format, bakedTextureGetter ); - return new CableBusBakedModel( cableBuilder, facadeBuilder, partModels ); + // This should normally not be used, but we *have* to provide a particle texture or otherwise damage models will crash + TextureAtlasSprite particleTexture = cableBuilder.getCoreTexture( CableCoreType.GLASS, AEColor.TRANSPARENT ); + + return new CableBusBakedModel( cableBuilder, facadeBuilder, partModels, particleTexture ); } private Map loadPartModels( IModelState state, VertexFormat format, Function bakedTextureGetter ) diff --git a/src/main/java/appeng/client/render/model/UVLModelLoader.java b/src/main/java/appeng/client/render/model/UVLModelLoader.java index 450d8bbaa..237e81c4f 100644 --- a/src/main/java/appeng/client/render/model/UVLModelLoader.java +++ b/src/main/java/appeng/client/render/model/UVLModelLoader.java @@ -361,6 +361,7 @@ public enum UVLModelLoader implements ICustomModelLoader quad.pipe( trans ); builder.setQuadTint( quad.getTintIndex() ); builder.setQuadOrientation( quad.getFace() ); + builder.setTexture( quad.getSprite() ); return builder.build(); } else