- Статус
- Оффлайн
- Регистрация
- 5 Сен 2025
- Сообщения
- 143
- Реакции
- 5
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
- Выберите загрузчик игры
- 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;
}
}