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.

This commit is contained in:
Sebastian Hartte 2016-10-03 21:34:01 +02:00
parent de4acb6098
commit 744ac69fb7
3 changed files with 11 additions and 4 deletions

View File

@ -52,11 +52,14 @@ public class CableBusBakedModel implements IBakedModel
private final Map<ResourceLocation, IBakedModel> partModels;
CableBusBakedModel( CableBuilder cableBuilder, FacadeBuilder facadeBuilder, Map<ResourceLocation, IBakedModel> partModels )
private final TextureAtlasSprite particleTexture;
CableBusBakedModel( CableBuilder cableBuilder, FacadeBuilder facadeBuilder, Map<ResourceLocation, IBakedModel> 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

View File

@ -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<ResourceLocation, TextureAtlasSprite> bakedTextureGetter )
{
Map<ResourceLocation, IBakedModel> 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<ResourceLocation, IBakedModel> loadPartModels( IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter )

View File

@ -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