src/main/java/codes/biscuit/skyblockaddons/utils/TabEffectManager.java
/**
     * Called by {@link codes.biscuit.skyblockaddons.listeners.PlayerListener#onTick(TickEvent.ClientTickEvent)} every 5 ticks
     * to update the list of current effect timers.
     */
Called by  codes.biscuit.skyblockaddons.listeners.PlayerListener#onTick(TickEvent.ClientTickEvent) every 5 ticks
to update the list of current effect timers.
Called by codes . biscuit . skyblockaddons . listeners . PlayerListener#onTick ( TickEvent . ClientTickEvent ) every 5 ticks to update the list of current effect timers .
public void updatePotionEffects() {
        potionTimers.clear();
        powerupTimers.clear();
        IChatComponent tabFooterChatComponent = getFooter();
        StringBuilder tabFooterString = new StringBuilder();
        if (tabFooterChatComponent != null) {
            for (IChatComponent line : tabFooterChatComponent.getSiblings()) {
                tabFooterString.append(line.getFormattedText());
            }
        }
        Matcher m = effectPattern.matcher(tabFooterString.toString());
        String effectString;
        while (m.find()) {
            if ((effectString = m.group("potion")) != null) {
                putPotionEffect(effectString);
            } else if ((effectString = m.group("powerup")) != null) {
                putPowerup(effectString);
            }
        }
    }
public void updatePotionEffects ( ) { potionTimers . clear ( ) ; powerupTimers . clear ( ) ; IChatComponent tabFooterChatComponent = getFooter ( ) ; StringBuilder tabFooterString = new StringBuilder ( ) ; if ( tabFooterChatComponent != null ) { for ( IChatComponent line : tabFooterChatComponent . getSiblings ( ) ) { tabFooterString . append ( line . getFormattedText ( ) ) ; } } Matcher m = effectPattern . matcher ( tabFooterString . toString ( ) ) ; String effectString ; while ( m . find ( ) ) { if ( ( effectString = m . group ( "potion" ) ) != null ) { putPotionEffect ( effectString ) ; } else if ( ( effectString = m . group ( "powerup" ) ) != null ) { putPowerup ( effectString ) ; } } }
Called by {@link codes.biscuit.skyblockaddons.listeners.PlayerListener#onTick(TickEvent.ClientTickEvent)} every 5 ticks
 to update the list of current effect timers.
Called by { @link codes . biscuit . skyblockaddons . listeners . PlayerListener#onTick ( TickEvent . ClientTickEvent ) } every 5 ticks to update the list of current effect timers .
// Convert tab footer to a String // Match the TabFooterString for Effects