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

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

Introduction

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

Prototype

public PlayerEntity getPlayer() 

Source Link

Document

The player which the overlay will apply to

Usage

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

License:Open Source License

/** Replaces water overlay on tar. */
@SubscribeEvent//from   w w w  .  jav 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);
    }
}