Example usage for net.minecraftforge.common.property Properties AnimationProperty

List of usage examples for net.minecraftforge.common.property Properties AnimationProperty

Introduction

In this page you can find the example usage for net.minecraftforge.common.property Properties AnimationProperty.

Prototype

ModelProperty AnimationProperty

To view the source code for net.minecraftforge.common.property Properties AnimationProperty.

Click Source Link

Document

Property holding the IModelState used for animating the model in the TESR.

Usage

From source file:blusunrize.immersiveengineering.client.models.IESmartObjModel.java

@Override
public List<BakedQuad> getQuads(IBlockState blockState, EnumFacing side, long rand) {
    if (side != null)
        return ImmutableList.of();
    OBJState objState = null;//w w  w .  j a  v a 2  s  . co m
    Map<String, String> tex = null;
    if (blockState instanceof IExtendedBlockState) {
        IExtendedBlockState ext = (IExtendedBlockState) blockState;
        if (ext.getUnlistedNames().contains(Properties.AnimationProperty)) {
            IModelState modState = ext.getValue(Properties.AnimationProperty);
            if (modState instanceof OBJState)
                objState = (OBJState) modState;
        }
        if (ext.getUnlistedNames().contains(IEProperties.OBJ_TEXTURE_REMAP))
            tex = ext.getValue(IEProperties.OBJ_TEXTURE_REMAP);
    }
    return getQuads(blockState, side, rand, objState, tex, false);
}

From source file:blusunrize.immersiveengineering.client.render.TileRenderArcFurnace.java

@Override
public void render(TileEntityArcFurnace te, double x, double y, double z, float partialTicks, int destroyStage,
        float alpha) {
    if (!te.formed || te.isDummy() || !te.getWorld().isBlockLoaded(te.getPos(), false))
        return;/*  w  ww .  ja  v  a2  s  . co m*/
    List<String> renderedParts = null;
    for (int i = 0; i < 3; i++)
        if (!te.getInventory().get(23 + i).isEmpty()) {
            if (renderedParts == null)
                renderedParts = Lists.newArrayList("electrode" + (i + 1));
            else
                renderedParts.add("electrode" + (i + 1));
        }
    if (renderedParts == null)
        return;
    if (te.shouldRenderAsActive())
        renderedParts.add("active");

    final BlockRendererDispatcher blockRenderer = Minecraft.getMinecraft().getBlockRendererDispatcher();
    BlockPos blockPos = te.getPos();
    IBlockState state = getWorld().getBlockState(blockPos);
    if (state.getBlock() != IEContent.blockMetalMultiblock)
        return;
    state = state.getBlock().getActualState(state, getWorld(), blockPos);
    state = state.withProperty(IEProperties.DYNAMICRENDER, true);
    IBakedModel model = blockRenderer.getBlockModelShapes().getModelForState(state);
    if (state instanceof IExtendedBlockState)
        state = ((IExtendedBlockState) state).withProperty(Properties.AnimationProperty,
                new OBJState(renderedParts, true));

    Tessellator tessellator = Tessellator.getInstance();
    BufferBuilder worldRenderer = tessellator.getBuffer();

    ClientUtils.bindAtlas();
    GlStateManager.pushMatrix();
    GlStateManager.translate(x, y, z);
    GlStateManager.translate(.5, .5, .5);

    RenderHelper.disableStandardItemLighting();
    GlStateManager.blendFunc(770, 771);
    GlStateManager.enableBlend();
    GlStateManager.disableCull();
    if (Minecraft.isAmbientOcclusionEnabled())
        GlStateManager.shadeModel(7425);
    else
        GlStateManager.shadeModel(7424);
    worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
    worldRenderer.setTranslation(-.5 - blockPos.getX(), -.5 - blockPos.getY(), -.5 - blockPos.getZ());
    worldRenderer.color(255, 255, 255, 255);
    blockRenderer.getBlockModelRenderer().renderModel(te.getWorld(), model, state, blockPos, worldRenderer,
            true);
    worldRenderer.setTranslation(0.0D, 0.0D, 0.0D);
    tessellator.draw();

    RenderHelper.enableStandardItemLighting();
    if (te.pouringMetal > 0) {
        if (hotMetal_flow == null) {
            hotMetal_still = ApiUtils.getRegisterSprite(ClientUtils.mc().getTextureMapBlocks(),
                    "immersiveengineering:blocks/fluid/hot_metal_still");
            hotMetal_flow = ApiUtils.getRegisterSprite(ClientUtils.mc().getTextureMapBlocks(),
                    "immersiveengineering:blocks/fluid/hot_metal_flow");
        }
        GlStateManager.rotate(-te.facing.getHorizontalAngle() + 180, 0, 1, 0);
        int process = 40;
        float speed = 5f;
        int pour = process - te.pouringMetal;
        Vector3f tmp = new Vector3f();
        float h = (pour > (process - speed) ? ((process - pour) / speed * 27)
                : pour > speed ? 27 : (pour / speed * 27)) / 16f;
        GlStateManager.translate(-.5f, 1.25 - .6875f, 1.5f);
        worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX);
        GlStateManager.disableLighting();
        setLightmapDisabled(true);
        if (pour > (process - speed))
            addTranslation(tmp, worldRenderer, 0, -1.6875f + h, 0);
        if (h > 1) {
            addTranslation(tmp, worldRenderer, 0, -h, 0);
            ClientUtils.renderTexturedBox(worldRenderer, .375, 0, .375, .625, 1, .625, hotMetal_flow, true);
            addTranslation(tmp, worldRenderer, 0, 1, 0);
            ClientUtils.renderTexturedBox(worldRenderer, .375, 0, .375, .625, h - 1, .625, hotMetal_flow, true);
            addTranslation(tmp, worldRenderer, 0, -1, 0);
            addTranslation(tmp, worldRenderer, 0, h, 0);
        } else {
            addTranslation(tmp, worldRenderer, 0, -h, 0);
            ClientUtils.renderTexturedBox(worldRenderer, .375, 0, .375, .625, h, .625, hotMetal_flow, true);
            addTranslation(tmp, worldRenderer, 0, h, 0);
        }
        if (pour > (process - speed))
            addTranslation(tmp, worldRenderer, 0, 1.6875f - h, 0);
        if (pour > speed) {
            float h2 = (pour > (process - speed) ? .625f : pour / (process - speed) * .625f);
            addTranslation(tmp, worldRenderer, 0, -1.6875f, 0);
            ClientUtils.renderTexturedBox(worldRenderer, .125, 0, .125, .875, h2, .875, hotMetal_still, false);
            addTranslation(tmp, worldRenderer, 0, 1.6875f, 0);
        }
        worldRenderer.setTranslation(0, 0, 0);
        tessellator.draw();
        setLightmapDisabled(false);
        GlStateManager.enableLighting();
    }
    GlStateManager.popMatrix();
}

From source file:blusunrize.immersiveengineering.client.render.TileRenderAutoWorkbench.java

public static void renderModelPart(final BlockRendererDispatcher blockRenderer, Tessellator tessellator,
        BufferBuilder worldRenderer, World world, IBlockState state, IBakedModel model, BlockPos pos,
        String... parts) {/*  w  w  w  . java 2  s.c om*/
    if (state instanceof IExtendedBlockState)
        state = ((IExtendedBlockState) state).withProperty(Properties.AnimationProperty,
                new OBJState(Arrays.asList(parts), true));

    RenderHelper.disableStandardItemLighting();
    GlStateManager.blendFunc(770, 771);
    GlStateManager.enableBlend();
    GlStateManager.disableCull();
    if (Minecraft.isAmbientOcclusionEnabled())
        GlStateManager.shadeModel(7425);
    else
        GlStateManager.shadeModel(7424);
    worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
    worldRenderer.setTranslation(-.5 - pos.getX(), -.5 - pos.getY(), -.5 - pos.getZ());
    worldRenderer.color(255, 255, 255, 255);
    blockRenderer.getBlockModelRenderer().renderModel(world, model, state, pos, worldRenderer, true);
    worldRenderer.setTranslation(0.0D, 0.0D, 0.0D);
    tessellator.draw();
}

From source file:blusunrize.immersiveengineering.client.render.TileRenderBelljar.java

@Override
public void render(TileEntityBelljar tile, double x, double y, double z, float partialTicks, int destroyStage,
        float alpha) {
    if (tile.dummy != 0 || !tile.getWorld().isBlockLoaded(tile.getPos(), false))
        return;//  w w  w  .  j a va  2  s  .  co  m
    final BlockRendererDispatcher blockRenderer = Minecraft.getMinecraft().getBlockRendererDispatcher();
    BlockPos blockPos = tile.getPos();
    if (!quads.containsKey(tile.getFacing())) {
        IBlockState state = getWorld().getBlockState(blockPos);
        if (state.getBlock() != IEContent.blockMetalDevice1)
            return;
        state = state.getActualState(getWorld(), blockPos);
        IBakedModel model = blockRenderer.getBlockModelShapes().getModelForState(state);
        if (state instanceof IExtendedBlockState)
            state = ((IExtendedBlockState) state).withProperty(Properties.AnimationProperty,
                    new OBJState(Arrays.asList("glass"), true));
        quads.put(tile.getFacing(), model.getQuads(state, null, 0));
    }
    ClientUtils.bindAtlas();
    GlStateManager.pushMatrix();
    GlStateManager.translate(x, y, z);

    RenderHelper.disableStandardItemLighting();
    GlStateManager.blendFunc(770, 771);
    GlStateManager.enableBlend();
    GlStateManager.disableCull();
    if (Minecraft.isAmbientOcclusionEnabled())
        GlStateManager.shadeModel(7425);
    else
        GlStateManager.shadeModel(7424);
    Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
    BufferBuilder worldRenderer = Tessellator.getInstance().getBuffer();

    GlStateManager.enableCull();
    IPlantHandler plantHandler = tile.getCurrentPlantHandler();
    if (plantHandler != null) {
        GlStateManager.pushMatrix();
        GlStateManager.translate(0, 1.0625, 0);
        GlStateManager.color(1, 1, 1, 1);
        NonNullList<ItemStack> inventory = tile.getInventory();
        float scale = plantHandler.getRenderSize(inventory.get(1), inventory.get(0), tile.renderGrowth, tile);
        GlStateManager.translate((1 - scale) / 2, 0, (1 - scale) / 2);
        GlStateManager.scale(scale, scale, scale);
        if (!plantHandler.overrideRender(inventory.get(1), inventory.get(0), tile.renderGrowth, tile,
                blockRenderer)) {
            IBlockState[] states = plantHandler.getRenderedPlant(inventory.get(1), inventory.get(0),
                    tile.renderGrowth, tile);
            if (states == null || states.length < 1)
                return;
            for (IBlockState s : states) {
                List<BakedQuad> plantQuadList = plantQuads.get(s);
                if (plantQuadList == null) {
                    IBakedModel plantModel = blockRenderer.getModelForState(s);
                    plantQuadList = new ArrayList<BakedQuad>(plantModel.getQuads(s, null, 0));
                    for (EnumFacing f : EnumFacing.values())
                        plantQuadList.addAll(plantModel.getQuads(s, f, 0));
                    plantQuads.put(s, plantQuadList);
                }
                if (plantQuadList != null) {
                    GlStateManager.pushMatrix();
                    worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
                    ClientUtils.renderModelTESRFancy(plantQuadList, worldRenderer, tile.getWorld(), blockPos,
                            false);
                    Tessellator.getInstance().draw();
                    GlStateManager.popMatrix();
                    GlStateManager.translate(0, 1, 0);
                }
            }
        }
        GlStateManager.popMatrix();
    }

    GlStateManager.depthMask(false);
    worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
    ClientUtils.renderModelTESRFast(quads.get(tile.getFacing()), worldRenderer, tile.getWorld(), blockPos);
    Tessellator.getInstance().draw();
    RenderHelper.enableStandardItemLighting();
    GlStateManager.disableBlend();
    GlStateManager.depthMask(true);

    GlStateManager.popMatrix();
    RenderHelper.enableStandardItemLighting();
}

From source file:blusunrize.immersiveengineering.client.render.TileRenderBottlingMachine.java

public static void renderModelPart(final BlockRendererDispatcher blockRenderer, Tessellator tessellator,
        BufferBuilder worldRenderer, World world, IBlockState state, IBakedModel model, BlockPos pos,
        String... parts) {//from   w w w  . ja v  a 2s  . co m
    if (state instanceof IExtendedBlockState)
        state = ((IExtendedBlockState) state).withProperty(Properties.AnimationProperty,
                new OBJState(Arrays.asList(parts), true));

    RenderHelper.disableStandardItemLighting();
    GlStateManager.blendFunc(770, 771);
    GlStateManager.enableBlend();
    GlStateManager.disableCull();
    GlStateManager.color(1, 0, 0, 1);
    if (Minecraft.isAmbientOcclusionEnabled())
        GlStateManager.shadeModel(7425);
    else
        GlStateManager.shadeModel(7424);
    worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
    worldRenderer.setTranslation(-.5 - pos.getX(), -.5 - pos.getY(), -.5 - pos.getZ());
    worldRenderer.color(255, 255, 255, 255);
    blockRenderer.getBlockModelRenderer().renderModel(world, model, state, pos, worldRenderer, true);
    worldRenderer.setTranslation(0.0D, 0.0D, 0.0D);
    tessellator.draw();
}

From source file:blusunrize.immersiveengineering.client.render.TileRenderSampleDrill.java

@Override
public void render(TileEntitySampleDrill tile, double x, double y, double z, float partialTicks,
        int destroyStage, float alpha) {
    if (tile.isDummy() || !tile.getWorld().isBlockLoaded(tile.getPos(), false))
        return;//w ww .  java2 s .  co  m

    final BlockRendererDispatcher blockRenderer = Minecraft.getMinecraft().getBlockRendererDispatcher();
    IBlockState state = tile.getWorld().getBlockState(tile.getPos());
    BlockPos blockPos = tile.getPos();
    IBakedModel model = blockRenderer.getModelForState(state);
    if (state.getBlock() != IEContent.blockMetalDevice1)
        return;
    //            .getModelFromBlockState(state, getWorld(), blockPos);
    if (state instanceof IExtendedBlockState)
        state = ((IExtendedBlockState) state).withProperty(Properties.AnimationProperty,
                new OBJState(Lists.newArrayList("drill"), true));

    Tessellator tessellator = Tessellator.getInstance();
    BufferBuilder worldRenderer = tessellator.getBuffer();
    bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
    RenderHelper.disableStandardItemLighting();
    GlStateManager.blendFunc(770, 771);
    GlStateManager.enableBlend();
    GlStateManager.disableCull();
    if (Minecraft.isAmbientOcclusionEnabled())
        GlStateManager.shadeModel(7425);
    else
        GlStateManager.shadeModel(7424);
    GlStateManager.pushMatrix();
    GlStateManager.translate(x + .5, y + .5, z + .5);

    //      float rot = 360*tile.rotation-(!tile.canTurn||tile.rotation==0||tile.rotation-tile.prevRotation<4?0:tile.facing.getAxis()==Axis.X?-f:f);
    //      GlStateManager.rotate(rot, 0,0,1);

    int max = IEConfig.Machines.coredrill_time;
    if (tile.process > 0 && tile.process < max) {
        GlStateManager.rotate(((tile.process + partialTicks) * 22.5f) % 360f, 0, 1, 0);
        float push = tile.process / (float) max;
        if (tile.process > max / 2)
            push = 1 - push;
        GlStateManager.translate(0, -2.8f * push, 0);
    }

    worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
    worldRenderer.setTranslation(-.5 - blockPos.getX(), -.5 - blockPos.getY(), -.5 - blockPos.getZ());
    worldRenderer.color(255, 255, 255, 255);
    blockRenderer.getBlockModelRenderer().renderModel(tile.getWorld(), model, state, tile.getPos(),
            worldRenderer, true);
    worldRenderer.setTranslation(0.0D, 0.0D, 0.0D);
    tessellator.draw();
    GlStateManager.popMatrix();
    RenderHelper.enableStandardItemLighting();
}

From source file:blusunrize.immersiveengineering.client.render.TileRenderTurret.java

public static void renderModelPart(final BlockRendererDispatcher blockRenderer, Tessellator tessellator,
        BufferBuilder worldRenderer, World world, IBlockState state, IBakedModel model, BlockPos pos,
        boolean isFirst, String... parts) {
    pos = pos.up();//from  w  w w. j av  a  2s .  co  m
    if (state instanceof IExtendedBlockState)
        state = ((IExtendedBlockState) state).withProperty(Properties.AnimationProperty,
                new OBJState(Arrays.asList(parts), true));

    RenderHelper.disableStandardItemLighting();
    GlStateManager.blendFunc(770, 771);
    GlStateManager.enableBlend();
    GlStateManager.disableCull();
    Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
    if (Minecraft.isAmbientOcclusionEnabled())
        GlStateManager.shadeModel(7425);
    else
        GlStateManager.shadeModel(7424);
    worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
    worldRenderer.setTranslation(-.5, 0, -.5);
    long randomLong = MathHelper.getPositionRandom(pos);
    int light = world.getCombinedLight(pos, 0);
    List<BakedQuad> quads = model.getQuads(state, null, randomLong);
    ClientUtils.renderModelTESRFancy(quads, worldRenderer, world, pos, !isFirst);
    worldRenderer.setTranslation(0.0D, 0.0D, 0.0D);
    tessellator.draw();
    RenderHelper.enableStandardItemLighting();
    GlStateManager.disableBlend();
    GlStateManager.enableCull();
}

From source file:blusunrize.immersiveengineering.client.render.TileRenderWindmill.java

@Override
public void render(TileEntityWindmill tile, double x, double y, double z, float partialTicks, int destroyStage,
        float alpha) {
    if (!tile.getWorld().isBlockLoaded(tile.getPos(), false))
        return;/*from  w  ww.  j  a  va 2  s  .c o m*/
    final BlockRendererDispatcher blockRenderer = Minecraft.getMinecraft().getBlockRendererDispatcher();
    BlockPos blockPos = tile.getPos();
    if (quads[tile.sails] == null) {
        IBlockState state = getWorld().getBlockState(blockPos);
        if (state.getBlock() != IEContent.blockWoodenDevice1)
            return;
        state = state.getActualState(getWorld(), blockPos);
        state = state.withProperty(IEProperties.FACING_ALL, EnumFacing.NORTH);
        IBakedModel model = blockRenderer.getBlockModelShapes().getModelForState(state);
        if (state instanceof IExtendedBlockState) {
            List<String> parts = new ArrayList<>();
            parts.add("base");
            for (int i = 1; i <= tile.sails; i++)
                parts.add("sail_" + i);
            state = ((IExtendedBlockState) state).withProperty(Properties.AnimationProperty,
                    new OBJState(parts, true));
        }
        quads[tile.sails] = model.getQuads(state, null, 0);
    }
    Tessellator tessellator = Tessellator.getInstance();
    GlStateManager.blendFunc(770, 771);
    GlStateManager.enableBlend();
    GlStateManager.disableCull();
    GlStateManager.pushMatrix();
    GlStateManager.translate(x + .5, y + .5, z + .5);

    float dir = tile.facing == EnumFacing.SOUTH ? 0
            : tile.facing == EnumFacing.NORTH ? 180 : tile.facing == EnumFacing.EAST ? 90 : -90;
    float rot = 360 * (tile.rotation + (!tile.canTurn || tile.rotation == 0 ? 0 : partialTicks) * tile.perTick);

    GlStateManager.rotate(rot, tile.facing.getAxis() == Axis.X ? 1 : 0, 0,
            tile.facing.getAxis() == Axis.Z ? 1 : 0);
    GlStateManager.rotate(dir, 0, 1, 0);

    RenderHelper.disableStandardItemLighting();
    Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
    BufferBuilder worldRenderer = tessellator.getBuffer();
    worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
    worldRenderer.setTranslation(-.5, -.5, -.5);
    ClientUtils.renderModelTESRFast(quads[tile.sails], worldRenderer, tile.getWorld(), blockPos);
    worldRenderer.setTranslation(0, 0, 0);
    tessellator.draw();
    GlStateManager.popMatrix();
    RenderHelper.enableStandardItemLighting();
    GlStateManager.disableBlend();
    GlStateManager.enableCull();
}

From source file:blusunrize.immersiveengineering.common.blocks.BlockIETileProvider.java

@Override
public IBlockState getExtendedState(IBlockState state, IBlockAccess world, BlockPos pos) {
    state = super.getExtendedState(state, world, pos);
    if (state instanceof IExtendedBlockState) {
        IExtendedBlockState extended = (IExtendedBlockState) state;
        TileEntity te = world.getTileEntity(pos);
        if (te != null) {
            if (te instanceof IConfigurableSides)
                for (int i = 0; i < 6; i++)
                    if (extended.getUnlistedNames().contains(IEProperties.SIDECONFIG[i]))
                        extended = extended.withProperty(IEProperties.SIDECONFIG[i],
                                ((IConfigurableSides) te).getSideConfig(i));
            if (te instanceof IAdvancedHasObjProperty)
                extended = extended.withProperty(Properties.AnimationProperty,
                        ((IAdvancedHasObjProperty) te).getOBJState());
            else if (te instanceof IHasObjProperty)
                extended = extended.withProperty(Properties.AnimationProperty,
                        new OBJState(((IHasObjProperty) te).compileDisplayList(), true));
            if (te instanceof IDynamicTexture)
                extended = extended.withProperty(IEProperties.OBJ_TEXTURE_REMAP,
                        ((IDynamicTexture) te).getTextureReplacements());
            if (te instanceof IOBJModelCallback)
                extended = extended.withProperty(IOBJModelCallback.PROPERTY, (IOBJModelCallback) te);
            if (te.hasCapability(CapabilityShader.SHADER_CAPABILITY, null))
                extended = extended.withProperty(CapabilityShader.BLOCKSTATE_PROPERTY,
                        te.getCapability(CapabilityShader.SHADER_CAPABILITY, null));
            if (te instanceof IPropertyPassthrough && ((IExtendedBlockState) state).getUnlistedNames()
                    .contains(IEProperties.TILEENTITY_PASSTHROUGH))
                extended = extended.withProperty(IEProperties.TILEENTITY_PASSTHROUGH, te);
            if (te instanceof TileEntityImmersiveConnectable
                    && ((IExtendedBlockState) state).getUnlistedNames().contains(IEProperties.CONNECTIONS))
                extended = extended.withProperty(IEProperties.CONNECTIONS,
                        ((TileEntityImmersiveConnectable) te).genConnBlockstate());
        }//from www. j  a v a2  s  . co m
        state = extended;
    }

    return state;
}

From source file:blusunrize.immersiveengineering.common.blocks.metal.BlockMetalDecoration2.java

public BlockMetalDecoration2() {
    super("metal_decoration2", Material.IRON, PropertyEnum.create("type", BlockTypes_MetalDecoration2.class),
            ItemBlockIEBase.class, IEProperties.FACING_ALL, IEProperties.MULTIBLOCKSLAVE, IEProperties.INT_4,
            Properties.AnimationProperty, IOBJModelCallback.PROPERTY, IEProperties.CONNECTIONS);
    this.setHardness(3.0F);
    this.setResistance(15.0F);
    this.setAllNotNormalBlock();
    this.setMetaBlockLayer(BlockTypes_MetalDecoration2.RAZOR_WIRE.getMeta(), BlockRenderLayer.CUTOUT,
            BlockRenderLayer.SOLID, BlockRenderLayer.TRANSLUCENT);
    this.setMetaBlockLayer(BlockTypes_MetalDecoration2.STEEL_SLOPE.getMeta(), BlockRenderLayer.CUTOUT_MIPPED);
    this.setMetaBlockLayer(BlockTypes_MetalDecoration2.ALU_SLOPE.getMeta(), BlockRenderLayer.CUTOUT_MIPPED);
    lightOpacity = 0;/*from  w  ww.  j  av a2s . c  o m*/
    this.setMetaMobilityFlag(BlockTypes_MetalDecoration2.STEEL_POST.getMeta(), EnumPushReaction.BLOCK);
    this.setMetaMobilityFlag(BlockTypes_MetalDecoration2.ALUMINUM_POST.getMeta(), EnumPushReaction.BLOCK);
}