001package net.minecraftforge.client.event; 002 003import java.util.ArrayList; 004 005import net.minecraft.client.gui.ScaledResolution; 006import net.minecraftforge.event.Cancelable; 007import net.minecraftforge.event.Event; 008 009@Cancelable 010public class RenderGameOverlayEvent extends Event 011{ 012 public static enum ElementType 013 { 014 ALL, 015 HELMET, 016 PORTAL, 017 CROSSHAIRS, 018 BOSSHEALTH, 019 ARMOR, 020 HEALTH, 021 FOOD, 022 AIR, 023 HOTBAR, 024 EXPERIENCE, 025 TEXT 026 } 027 028 public final float partialTicks; 029 public final ScaledResolution resolution; 030 public final int mouseX; 031 public final int mouseY; 032 public final ElementType type; 033 034 public RenderGameOverlayEvent(float partialTicks, ScaledResolution resolution, int mouseX, int mouseY) 035 { 036 this.partialTicks = partialTicks; 037 this.resolution = resolution; 038 this.mouseX = mouseX; 039 this.mouseY = mouseY; 040 this.type = null; 041 } 042 043 private RenderGameOverlayEvent(RenderGameOverlayEvent parent, ElementType type) 044 { 045 this.partialTicks = parent.partialTicks; 046 this.resolution = parent.resolution; 047 this.mouseX = parent.mouseX; 048 this.mouseY = parent.mouseY; 049 this.type = type; 050 } 051 052 public static class Pre extends RenderGameOverlayEvent 053 { 054 public Pre(RenderGameOverlayEvent parent, ElementType type) 055 { 056 super(parent, type); 057 } 058 } 059 060 public static class Post extends RenderGameOverlayEvent 061 { 062 public Post(RenderGameOverlayEvent parent, ElementType type) 063 { 064 super(parent, type); 065 } 066 @Override public boolean isCancelable(){ return false; } 067 } 068 069 public static class Text extends Pre 070 { 071 public final ArrayList<String> left; 072 public final ArrayList<String> right; 073 public Text(RenderGameOverlayEvent parent, ArrayList<String> left, ArrayList<String> right) 074 { 075 super(parent, ElementType.TEXT); 076 this.left = left; 077 this.right = right; 078 } 079 } 080}