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

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

Introduction

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

Prototype

public OverlayType getOverlayType() 

Source Link

Document

The type of overlay to occur

Usage

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

License:Open Source License

/** Replaces water overlay on tar. */
@SubscribeEvent/*from  w  ww.  j  a  v a 2 s .  co 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);
    }
}