Начинающий
			
			
				
					
				
			
		- Статус
- Онлайн
- Регистрация
- 5 Сен 2025
- Сообщения
- 100
- Реакции
- 3
- Выберите загрузчик игры
- OptiFine
 
короч он напоминает вам если эффект заканчивается в чате,кто захочет сделает нотифками или как то переделает.
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
				
			
			
				PotionAlert:
			
		
		
		package im.expensive.functions.impl.misc;
import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.api.impl.BooleanSetting;
import im.expensive.functions.api.impl.ModeListSetting;
import im.expensive.functions.api.impl.SliderSetting;
import im.expensive.ui.mainmenu.TimerUtils;
import im.expensive.utils.client.IMinecraft;
import net.minecraft.potion.Effect;
import net.minecraft.potion.Effects;
import net.minecraft.util.text.TextFormatting;
import java.util.stream.Collectors;
@FunctionRegister(name = "PotionAlert", type = Category.Misc)
public class PotionAlert extends Function implements IMinecraft {
    //сколько раз помолиться?
    private final SliderSetting alertTime = new SliderSetting("Время оповещения", 10, 5, 30, 1);
    private final ModeListSetting potionModes = new ModeListSetting("Эффекты",
            new BooleanSetting("Сила", true),
            new BooleanSetting("Скорость", true),
            new BooleanSetting("Регенерация", false),
            new BooleanSetting("Поспешность", false),
            new BooleanSetting("Огнестойкость", false));
    private final TimerUtils timer = new TimerUtils();
    public PotionAlert() {
        addSettings(alertTime, potionModes);
    }
    @Subscribe
    private void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;
        int alertTicks = (int)(alertTime.get() * 20);
        //приватные методы или не?
        for (Effect effect : mc.player.getActivePotionEffects().stream()
                .map(potionEffect -> potionEffect.getPotion())
                .collect(Collectors.toList())) {
            String effectName = getEffectName(effect);
            if (!isEffectEnabled(effectName)) continue;
            int duration = mc.player.getActivePotionEffect(effect).getDuration();
/*
это че за хуйня нахуй говно код этот
 */
            //выше пошёл нахуй
            // у а🧨🧨 я создал свой кефеге
            if (duration <= alertTicks && duration > 0 && timer.isReached(1000)) {
                String message = TextFormatting.WHITE + "Эффект " + effectName +
                        " закончится через " + (duration / 20) + " секунд!";
                print(message);
                timer.reset();
            }
        }
    }
    private String getEffectName(Effect effect) {
        /*
        откуда ты это спиздил?
         */
        if (effect == Effects.STRENGTH) return "Сила";
        if (effect == Effects.SPEED) return "Скорость";
        if (effect == Effects.REGENERATION) return "Регенерация";
        if (effect == Effects.HASTE) return "Поспешность";
        if (effect == Effects.FIRE_RESISTANCE) return "Огнестойкость";
        return effect.getDisplayName().getString();
    }
    private boolean isEffectEnabled(String effectName) {
        for (BooleanSetting setting : potionModes.get()) {
            if (setting.getName().equals(effectName) && setting.get()) {
                return true;
            }
        }
        return false;
    }
} 
				 
	 
 
		 
			 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		