Example usage for net.minecraftforge.client.event RenderBlockOverlayEvent getBlockPos

List of usage examples for net.minecraftforge.client.event RenderBlockOverlayEvent getBlockPos

Introduction

In this page you can find the example usage for net.minecraftforge.client.event RenderBlockOverlayEvent getBlockPos.

Prototype

public BlockPos getBlockPos() 

Source Link

Usage

From source file:jayavery.geomastery.main.ClientEvents.java

License:Open Source License

/** Replaces water overlay on tar. */
@SubscribeEvent/*from w ww .j  av  a 2  s  .c o  m*/
public void renderWaterOverlay(RenderBlockOverlayEvent event) {

    EntityPlayer player = event.getPlayer();

    if (event.getOverlayType() == OverlayType.WATER
            && player.world.getBlockState(event.getBlockPos()).getBlock() == GeoBlocks.tar) {

        Minecraft.getMinecraft().getTextureManager().bindTexture(TAR);
        Tessellator tess = Tessellator.getInstance();
        VertexBuffer vert = tess.getBuffer();
        float f = player.getBrightness(event.getRenderPartialTicks());
        GlStateManager.color(f, f, f, 0.5F);
        GlStateManager.enableBlend();
        GlStateManager.pushMatrix();
        float f7 = -player.rotationYaw / 64.0F;
        float f8 = player.rotationPitch / 64.0F;
        vert.begin(7, DefaultVertexFormats.POSITION_TEX);
        vert.pos(-1.0D, -1.0D, -0.5D).tex(4.0F + f7, 4.0F + f8).endVertex();
        vert.pos(1.0D, -1.0D, -0.5D).tex(0.0F + f7, 4.0F + f8).endVertex();
        vert.pos(1.0D, 1.0D, -0.5D).tex(0.0F + f7, 0.0F + f8).endVertex();
        vert.pos(-1.0D, 1.0D, -0.5D).tex(4.0F + f7, 0.0F + f8).endVertex();
        tess.draw();
        GlStateManager.popMatrix();
        GlStateManager.color(1.0F, 1.0F, 1.0F, 0.1F);
        GlStateManager.disableBlend();
        event.setCanceled(true);
    }
}