public static List<CustomBakedQuad> buildCoverQuads(IBlockAccess world, BlockPos pos, IBlockState state, int side, AxisAlignedBB bounds, final CoverCutter.ITransformer[] cutType){
final EnumFacing face = EnumFacing.getFront(side);
final IBlockAccess coverAccess = new PipeBlockAccessWrapper(world, pos, face);
final BlockRendererDispatcher dispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
try {
state = state.getActualState(coverAccess, pos);
}
catch (Exception ex) {}
final IBakedModel model = dispatcher.getModelForState(state);
try {
state = state.getBlock().getExtendedState(state, coverAccess, pos);
}
catch (Exception ex2) {}
final List<BakedQuad> bakedQuads = new LinkedList<BakedQuad>();
final long posRand = MathHelper.getPositionRandom(pos);
bakedQuads.addAll(model.getQuads(state, (EnumFacing)null, posRand));
for (final EnumFacing face2 : EnumFacing.VALUES) {
bakedQuads.addAll(model.getQuads(state, face2, posRand));
}
List<CustomBakedQuad> quads = CustomBakedQuad.fromArray(bakedQuads);
if (cutType != null) {
quads = CoverCutter.cut(quads, side, cutType);
}
quads = sliceQuads(quads, side, bounds);
return quads;
}
CoverRender.java 文件源码
java
阅读 27
收藏 0
点赞 0
评论 0
项目:CrystalMod
作者:
评论列表
文章目录