package mcjty.rftools; import mcjty.lib.gui.RenderHelper; import mcjty.lib.preferences.PlayerPreferencesProperties; import mcjty.rftools.blocks.environmental.EnvironmentalSetup; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityClientPlayerMP; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.item.Item; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderGameOverlayEvent; import org.lwjgl.opengl.GL11; import java.util.List; public class RenderGameOverlayEventHandler { private static final int BUFF_ICON_SIZE = 16; private static RenderItem itemRender = new RenderItem(); public static final ResourceLocation texture = new ResourceLocation("textures/atlas/items.png"); public static List<PlayerBuff> buffs = null; public static void onRender(RenderGameOverlayEvent event) { if (event.isCancelable() || event.type != RenderGameOverlayEvent.ElementType.EXPERIENCE) { return; } renderBuffs(); } private static void renderBuffs() { if (buffs == null || buffs.isEmpty()) { return; } EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer; PlayerPreferencesProperties properties = PlayerPreferencesProperties.getProperties(player); int x = properties.getPreferencesProperties().getBuffX(); int y = properties.getPreferencesProperties().getBuffY(); if (x == -1 || y == -1) { return; } GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_LIGHTING); Minecraft.getMinecraft().renderEngine.bindTexture(texture); for (PlayerBuff buff : buffs) { Item item; switch (buff) { case BUFF_FEATHERFALLING: item = EnvironmentalSetup.featherFallingEModuleItem; break; case BUFF_FEATHERFALLINGPLUS: item = EnvironmentalSetup.featherFallingPlusEModuleItem; break; case BUFF_HASTE: item = EnvironmentalSetup.hasteEModuleItem; break; case BUFF_HASTEPLUS: item = EnvironmentalSetup.hastePlusEModuleItem; break; case BUFF_REGENERATION: item = EnvironmentalSetup.regenerationEModuleItem; break; case BUFF_REGENERATIONPLUS: item = EnvironmentalSetup.regenerationPlusEModuleItem; break; case BUFF_SATURATION: item = EnvironmentalSetup.saturationEModuleItem; break; case BUFF_SATURATIONPLUS: item = EnvironmentalSetup.saturationPlusEModuleItem; break; case BUFF_SPEED: item = EnvironmentalSetup.speedEModuleItem; break; case BUFF_SPEEDPLUS: item = EnvironmentalSetup.speedPlusEModuleItem; break; case BUFF_FLIGHT: item = EnvironmentalSetup.flightEModuleItem; break; case BUFF_PEACEFUL: item = EnvironmentalSetup.peacefulEModuleItem; break; case BUFF_WATERBREATHING: item = EnvironmentalSetup.waterBreathingEModuleItem; break; case BUFF_NIGHTVISION: item = EnvironmentalSetup.nightVisionEModuleItem; break; case BUFF_BLINDNESS: item = EnvironmentalSetup.blindnessEModuleItem; break; case BUFF_WEAKNESS: item = EnvironmentalSetup.weaknessEModuleItem; break; case BUFF_POISON: item = EnvironmentalSetup.poisonEModuleItem; break; case BUFF_SLOWNESS: item = EnvironmentalSetup.slownessEModuleItem; break; default: item = null; } if (item != null) { IIcon icon = item.getIconFromDamage(0); RenderHelper.renderIcon(Minecraft.getMinecraft(), itemRender, icon, x, y, false); x += BUFF_ICON_SIZE; } } } }