First of all you can't do this
This will crash the server because GuiScreen doesn't exist on the server. Why are you extending GuiScreen anyway? There is no reason to do so.
This will never be false. The RenderGameOverlayEvent fires, well, when the overlay HUD is rendered. The player is never null by then.
This will never be false. The player can't have a non-null inventory.
This will never be false. The inventory will always have it's armor list instantinated.
All of this can be replaced with one line of code:
ItemStack helmet = Minecraft.getMinecraft().player.getItemStackFromSlot(EntityEquipmentSlot.HEAD);
There, you are done.
This does a lot of things to GL state which are not supposed to be there when the HUD is rendered, thus the game can't properly draw the rest of it and all you see is a black screen, hence the
Don't call this method. It doesn't really work during the HUD pass anyway.
GlStateManager.disableBlend();
GlStateManager.disableAlpha();
GlStateManager.enableDepth();
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
Why are you disabling blending? The rest of the HUD rendering expects it to be enabled. And if you are disabling it there is no logic in setting the blend function to something else afterwards.
Same with the alpha. Don't disable it. In fact don't enable it in the first place, it is irrelevant.