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:
parent
de4acb6098
commit
744ac69fb7
|
@ -52,11 +52,14 @@ public class CableBusBakedModel implements IBakedModel
|
||||||
|
|
||||||
private final Map<ResourceLocation, IBakedModel> partModels;
|
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.cableBuilder = cableBuilder;
|
||||||
this.facadeBuilder = facadeBuilder;
|
this.facadeBuilder = facadeBuilder;
|
||||||
this.partModels = partModels;
|
this.partModels = partModels;
|
||||||
|
this.particleTexture = particleTexture;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -272,7 +275,7 @@ public class CableBusBakedModel implements IBakedModel
|
||||||
@Override
|
@Override
|
||||||
public TextureAtlasSprite getParticleTexture()
|
public TextureAtlasSprite getParticleTexture()
|
||||||
{
|
{
|
||||||
return null;
|
return particleTexture;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -35,6 +35,7 @@ import net.minecraftforge.client.model.ModelLoaderRegistry;
|
||||||
import net.minecraftforge.common.model.IModelState;
|
import net.minecraftforge.common.model.IModelState;
|
||||||
import net.minecraftforge.common.model.TRSRTransformation;
|
import net.minecraftforge.common.model.TRSRTransformation;
|
||||||
|
|
||||||
|
import appeng.api.util.AEColor;
|
||||||
import appeng.core.AELog;
|
import appeng.core.AELog;
|
||||||
import appeng.core.features.registries.PartModels;
|
import appeng.core.features.registries.PartModels;
|
||||||
|
|
||||||
|
@ -71,13 +72,15 @@ public class CableBusModel implements IModel
|
||||||
@Override
|
@Override
|
||||||
public IBakedModel bake( IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter )
|
public IBakedModel bake( IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter )
|
||||||
{
|
{
|
||||||
|
|
||||||
Map<ResourceLocation, IBakedModel> partModels = loadPartModels( state, format, bakedTextureGetter );
|
Map<ResourceLocation, IBakedModel> partModels = loadPartModels( state, format, bakedTextureGetter );
|
||||||
|
|
||||||
CableBuilder cableBuilder = new CableBuilder( format, bakedTextureGetter );
|
CableBuilder cableBuilder = new CableBuilder( format, bakedTextureGetter );
|
||||||
FacadeBuilder facadeBuilder = new FacadeBuilder( 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 )
|
private Map<ResourceLocation, IBakedModel> loadPartModels( IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter )
|
||||||
|
|
|
@ -361,6 +361,7 @@ public enum UVLModelLoader implements ICustomModelLoader
|
||||||
quad.pipe( trans );
|
quad.pipe( trans );
|
||||||
builder.setQuadTint( quad.getTintIndex() );
|
builder.setQuadTint( quad.getTintIndex() );
|
||||||
builder.setQuadOrientation( quad.getFace() );
|
builder.setQuadOrientation( quad.getFace() );
|
||||||
|
builder.setTexture( quad.getSprite() );
|
||||||
return builder.build();
|
return builder.build();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue