public static void DoPostRenderHudEvent()
        {
            if (Game1.activeClickableMenu != null)
            {
                return;
            }

            Type t = Type.GetType("ExperienceBars.Mod, ExperienceBars");

            int currentAlchemyLevel      = EquivalentExchange.instance.currentPlayerData.AlchemyLevel;
            int currentAlchemyExperience = EquivalentExchange.instance.currentPlayerData.AlchemyExperience;
            int x = 10;
            int y = (int)Util.GetStaticField(t, "expBottom");

            int previousExperienceRequired = 0, nextExperienceRequired = 1;

            if (currentAlchemyLevel == 0)
            {
                nextExperienceRequired = Alchemy.GetAlchemyExperienceNeededForNextLevel();
            }
            else if (currentAlchemyLevel != 10)
            {
                previousExperienceRequired = Alchemy.GetAlchemyExperienceNeededForLevel(currentAlchemyLevel - 1);
                nextExperienceRequired     = Alchemy.GetAlchemyExperienceNeededForLevel(currentAlchemyLevel);
            }

            int   progressTowardCurrentLevel   = currentAlchemyExperience - previousExperienceRequired;
            int   experienceGapForCurrentLevel = nextExperienceRequired - previousExperienceRequired;
            float progressBarPercentage        = (float)progressTowardCurrentLevel / experienceGapForCurrentLevel;

            if (currentAlchemyLevel == 10)
            {
                progressBarPercentage = -1;
            }

            object[] args = new object[]
            {
                x, y,
                alchemySkillIcon, new Rectangle(0, 0, 16, 16),
                currentAlchemyLevel, progressBarPercentage,
                new Color(196, 79, 255),
            };
            Util.CallStaticMethod(t, "renderSkillBar", args);

            Util.SetStaticField(t, "expBottom", y + 40);
        }