Reimplemented cable and parts rendering.
This commit is contained in:
@@ -1,24 +1,14 @@
|
||||
package appeng.block.networking;
|
||||
|
||||
|
||||
import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||
import net.minecraft.client.renderer.block.model.IBakedModel;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import appeng.api.client.BakingPipeline;
|
||||
import appeng.bootstrap.BlockRenderingCustomizer;
|
||||
import appeng.bootstrap.IBlockRendering;
|
||||
import appeng.bootstrap.IItemRendering;
|
||||
import appeng.client.render.model.pipeline.BakingPipelineBakedModel;
|
||||
import appeng.client.render.model.pipeline.FacingQuadRotator;
|
||||
import appeng.client.render.model.pipeline.Merge;
|
||||
import appeng.client.render.model.pipeline.TintIndexModifier;
|
||||
import appeng.client.render.model.pipeline.TypeTransformer;
|
||||
import appeng.client.render.model.pipeline.cable.CableAndConnections;
|
||||
import appeng.client.render.model.pipeline.cable.Facades;
|
||||
import appeng.client.render.model.pipeline.cable.Parts;
|
||||
import appeng.client.render.cablebus.CableBusModel;
|
||||
import appeng.core.features.registries.PartModels;
|
||||
|
||||
|
||||
/**
|
||||
@@ -26,27 +16,19 @@ import appeng.client.render.model.pipeline.cable.Parts;
|
||||
*/
|
||||
public class CableBusRendering extends BlockRenderingCustomizer
|
||||
{
|
||||
private final PartModels partModels;
|
||||
|
||||
private final BakingPipeline<BakedQuad, BakedQuad> rotatingPipeline = new BakingPipeline<>( TypeTransformer.quads2vecs, new FacingQuadRotator(), TypeTransformer.vecs2quads );
|
||||
private final TintIndexModifier tintIndexModifier = new TintIndexModifier( tint -> tint );
|
||||
private final BakingPipeline<BakedQuad, BakedQuad> tintIndexFixPipeline = new BakingPipeline<>( TypeTransformer.quads2vecs, tintIndexModifier, TypeTransformer.vecs2quads );
|
||||
public CableBusRendering( PartModels partModels )
|
||||
{
|
||||
this.partModels = partModels;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly( Side.CLIENT )
|
||||
public void customize( IBlockRendering rendering, IItemRendering itemRendering )
|
||||
{
|
||||
rendering.modelCustomizer( this::customizeModel );
|
||||
rendering.builtInModel( "models/block/builtin/cable_bus", new CableBusModel( partModels ) );
|
||||
rendering.blockColor( new CableBusColor() );
|
||||
}
|
||||
|
||||
private IBakedModel customizeModel( ResourceLocation location, IBakedModel model )
|
||||
{
|
||||
return new BakingPipelineBakedModel( model,
|
||||
new Merge<>(
|
||||
new CableAndConnections( rotatingPipeline, tintIndexModifier, tintIndexFixPipeline ),
|
||||
new Facades( rotatingPipeline, tintIndexModifier, tintIndexFixPipeline ),
|
||||
new Parts( rotatingPipeline, tintIndexModifier, tintIndexFixPipeline )
|
||||
)
|
||||
);
|
||||
rendering.modelCustomizer( ( loc, model ) -> model );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user