Search in sources :

Example 1 with UVLock

use of crazypants.enderio.base.paint.render.UVLock in project EnderIO by SleepyTrousers.

the class BlockPaintedStairs method mapRender.

@SideOnly(Side.CLIENT)
private IBakedModel mapRender(IBlockState state, @Nullable IBlockState paint) {
    final boolean top = state.getValue(HALF) == EnumHalf.TOP;
    int xRot = top ? 180 : 0;
    int yRot = top ? 90 : 0;
    switch(state.getValue(FACING)) {
        case EAST:
            yRot += 0;
            break;
        case SOUTH:
            yRot += 90;
            break;
        case WEST:
            yRot += 180;
            break;
        case NORTH:
            yRot += 270;
            break;
        default:
            return null;
    }
    String model;
    switch(state.getValue(SHAPE)) {
        case STRAIGHT:
            model = "stairs";
            yRot += top ? -90 : 0;
            break;
        case OUTER_RIGHT:
            model = "outer_stairs";
            break;
        case OUTER_LEFT:
            model = "outer_stairs";
            yRot += -90;
            break;
        case INNER_RIGHT:
            model = "inner_stairs";
            break;
        case INNER_LEFT:
            model = "inner_stairs";
            yRot += -90;
            break;
        default:
            return null;
    }
    return PaintRegistry.getModel(IBakedModel.class, model, paint, new UVLock(ModelRotation.getModelRotation(xRot, yRot)));
}
Also used : UVLock(crazypants.enderio.base.paint.render.UVLock) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 2 with UVLock

use of crazypants.enderio.base.paint.render.UVLock in project EnderIO by SleepyTrousers.

the class BlockPaintedWall method mapItemRender.

@Override
@SideOnly(Side.CLIENT)
public List<IBakedModel> mapItemRender(@Nonnull Block block, @Nonnull ItemStack stack) {
    IBlockState paintSource = getPaintSource(block, stack);
    IBlockState stdOverlay = ModObject.block_machine_base.getBlockNN().getDefaultState().withProperty(EnumRenderPart.SUB, EnumRenderPart.PAINT_OVERLAY);
    IBakedModel model1 = PaintRegistry.getModel(IBakedModel.class, "wall_inventory", paintSource, new UVLock(null));
    IBakedModel model2 = PaintRegistry.getModel(IBakedModel.class, "wall_inventory", stdOverlay, PaintRegistry.OVERLAY_TRANSFORMATION2);
    List<IBakedModel> list = new ArrayList<IBakedModel>();
    list.add(model1);
    list.add(model2);
    return list;
}
Also used : UVLock(crazypants.enderio.base.paint.render.UVLock) IBlockState(net.minecraft.block.state.IBlockState) ArrayList(java.util.ArrayList) IBakedModel(net.minecraft.client.renderer.block.model.IBakedModel) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 3 with UVLock

use of crazypants.enderio.base.paint.render.UVLock in project EnderIO by SleepyTrousers.

the class BlockPaintedFence method mapItemRender.

@Override
@SideOnly(Side.CLIENT)
public List<IBakedModel> mapItemRender(@Nonnull Block block, @Nonnull ItemStack stack) {
    IBlockState paintSource = getPaintSource(block, stack);
    IBlockState stdOverlay = ModObject.block_machine_base.getBlockNN().getDefaultState().withProperty(EnumRenderPart.SUB, EnumRenderPart.PAINT_OVERLAY);
    IBakedModel model1 = PaintRegistry.getModel(IBakedModel.class, "fence_inventory", paintSource, new UVLock(null));
    IBakedModel model2 = PaintRegistry.getModel(IBakedModel.class, "fence_inventory", stdOverlay, PaintRegistry.OVERLAY_TRANSFORMATION2);
    List<IBakedModel> list = new ArrayList<IBakedModel>();
    list.add(model1);
    list.add(model2);
    return list;
}
Also used : UVLock(crazypants.enderio.base.paint.render.UVLock) IBlockState(net.minecraft.block.state.IBlockState) ArrayList(java.util.ArrayList) IBakedModel(net.minecraft.client.renderer.block.model.IBakedModel) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 4 with UVLock

use of crazypants.enderio.base.paint.render.UVLock in project EnderIO by SleepyTrousers.

the class BlockPaintedFenceGate method mapItemRender.

@Override
@SideOnly(Side.CLIENT)
public List<IBakedModel> mapItemRender(@Nonnull Block block, @Nonnull ItemStack stack) {
    IBlockState paintSource = getPaintSource(block, stack);
    IBlockState stdOverlay = ModObject.block_machine_base.getBlockNN().getDefaultState().withProperty(EnumRenderPart.SUB, EnumRenderPart.PAINT_OVERLAY);
    IBakedModel model1 = PaintRegistry.getModel(IBakedModel.class, "fence_gate_closed", paintSource, new UVLock(null));
    IBakedModel model2 = PaintRegistry.getModel(IBakedModel.class, "fence_gate_closed", stdOverlay, PaintRegistry.OVERLAY_TRANSFORMATION2);
    List<IBakedModel> list = new ArrayList<IBakedModel>();
    list.add(model1);
    list.add(model2);
    return list;
}
Also used : UVLock(crazypants.enderio.base.paint.render.UVLock) IBlockState(net.minecraft.block.state.IBlockState) ArrayList(java.util.ArrayList) IBakedModel(net.minecraft.client.renderer.block.model.IBakedModel) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 5 with UVLock

use of crazypants.enderio.base.paint.render.UVLock in project EnderIO by SleepyTrousers.

the class BlockPaintedFenceGate method mapRender.

@SideOnly(Side.CLIENT)
private IBakedModel mapRender(IBlockState state, @Nullable IBlockState paint) {
    EnumFacing facing = state.getValue(FACING);
    Boolean open = state.getValue(OPEN);
    Boolean wall = state.getValue(IN_WALL);
    String model;
    if (wall) {
        if (open) {
            model = "wall_gate_open";
        } else {
            model = "wall_gate_closed";
        }
    } else {
        if (open) {
            model = "fence_gate_open";
        } else {
            model = "fence_gate_closed";
        }
    }
    switch(facing) {
        case EAST:
            return PaintRegistry.getModel(IBakedModel.class, model, paint, new UVLock(ModelRotation.X0_Y270));
        case NORTH:
            return PaintRegistry.getModel(IBakedModel.class, model, paint, new UVLock(ModelRotation.X0_Y180));
        case SOUTH:
            return PaintRegistry.getModel(IBakedModel.class, model, paint, new UVLock(null));
        case WEST:
            return PaintRegistry.getModel(IBakedModel.class, model, paint, new UVLock(ModelRotation.X0_Y90));
        default:
            return null;
    }
}
Also used : UVLock(crazypants.enderio.base.paint.render.UVLock) EnumFacing(net.minecraft.util.EnumFacing) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Aggregations

UVLock (crazypants.enderio.base.paint.render.UVLock)6 SideOnly (net.minecraftforge.fml.relauncher.SideOnly)6 ArrayList (java.util.ArrayList)4 IBlockState (net.minecraft.block.state.IBlockState)4 IBakedModel (net.minecraft.client.renderer.block.model.IBakedModel)4 EnumFacing (net.minecraft.util.EnumFacing)1