Read Only
- Статус
- Оффлайн
- Регистрация
- 23 Сен 2024
- Сообщения
- 255
- Реакции
- 0
- Выберите загрузчик игры
- Прочие моды
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Данный EventTime показывает время до ивента в минутах и секундах
Есть два мода отображения -> "Чат" и "Уведомление" (если у вас они есть)
Работает на FunTime и SpookyTime
SS:
Есть два мода отображения -> "Чат" и "Уведомление" (если у вас они есть)
Работает на FunTime и SpookyTime
SS:
EventTimer:
package luna.ware.modules.impl.misc;
import com.google.common.eventbus.Subscribe;
import luna.ware.events.EventPacket;
import luna.ware.modules.api.*;
import luna.ware.modules.settings.Setting;
import luna.ware.modules.settings.impl.ModeSetting;
import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.util.text.TextFormatting;
import luna.ware.modules.api.Module;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ModuleSystem(name = "EventTimer", description = "Корректно отображает время до следующего события", type = Category.Misc, server = ServerCategory.NO)
public class EventTimer extends Module {
public ModeSetting mod = new ModeSetting("Тип отображения", "Уведомление", "Уведомление", "Чат");
private static final Pattern SPOOKYTIME_PATTERN = Pattern.compile("\\[1\\] До следующего ивента (\\d+) сек");
private static final Pattern FUNTIME_PATTERN = Pattern.compile("\\[1\\] До следующего ивента: (\\d+) сек");
public EventTimer() {
addSettings(mod);
}
[USER=1474073]@Subscribe[/USER]
public void onPacket(EventPacket event) {
if (mc.player == null || mc.world == null) return;
if (event.getPacket() instanceof SChatPacket packet) {
String message = packet.getChatComponent().getString();
Matcher spookytimematcher = SPOOKYTIME_PATTERN.matcher(message);
Matcher funtimematcher = FUNTIME_PATTERN.matcher(message);
if (spookytimematcher.find()) {
processEventTime(Integer.parseInt(spookytimematcher.group(1)));
} else if (funtimematcher.find()) {
processEventTime(Integer.parseInt(funtimematcher.group(1)));
}
}
}
private void processEventTime(int seconds) {
int minutes = seconds / 60;
int remainingSeconds = seconds % 60;
String minuteText = getDeclension(minutes, "", "", "");
String secondText = getDeclension(remainingSeconds, "", "", "");
String timeMessage;
if (minutes > 0 && remainingSeconds > 0) {
timeMessage = String.format("До следующего ивента: Минут: %d Секунд:%s %d %s", minutes, minuteText, remainingSeconds, secondText);
} else if (minutes > 0) {
timeMessage = String.format("До следующего ивента: Минут: %d Секунд: %s", minutes, minuteText);
} else {
timeMessage = String.format("До следующего ивента: Минут: %d Секунд: %s", remainingSeconds, secondText);
}
if (mod.is("Уведомление")) {
Notifications.NotificationCreator.add(timeMessage, 2);
} else {
if (mod.is("Чат")) {
print(timeMessage);
}
}
}
private String getDeclension(int number, String singular, String pluralFew, String pluralMany) {
int lastTwoDigits = number % 100;
int lastDigit = number % 10;
if (lastTwoDigits >= 11 && lastTwoDigits <= 14) {
return pluralMany;
}
switch (lastDigit) {
case 1:
return singular;
case 2:
case 3:
case 4:
return pluralFew;
default:
return pluralMany;
}
}
}
Модеры это имба одобряйтеДанный EventTime показывает время до ивента в минутах и секундах
Есть два мода отображения -> "Чат" и "Уведомление" (если у вас они есть)
Работает на FunTime и SpookyTime
SS:
![]()
![]()
EventTimer:package luna.ware.modules.impl.misc; import com.google.common.eventbus.Subscribe; import luna.ware.events.EventPacket; import luna.ware.modules.api.*; import luna.ware.modules.settings.Setting; import luna.ware.modules.settings.impl.ModeSetting; import net.minecraft.network.play.server.SChatPacket; import net.minecraft.util.text.TextFormatting; import luna.ware.modules.api.Module; import java.util.regex.Matcher; import java.util.regex.Pattern; @ModuleSystem(name = "EventTimer", description = "Корректно отображает время до следующего события", type = Category.Misc, server = ServerCategory.NO) public class EventTimer extends Module { public ModeSetting mod = new ModeSetting("Тип отображения", "Уведомление", "Уведомление", "Чат"); private static final Pattern SPOOKYTIME_PATTERN = Pattern.compile("\\[1\\] До следующего ивента (\\d+) сек"); private static final Pattern FUNTIME_PATTERN = Pattern.compile("\\[1\\] До следующего ивента: (\\d+) сек"); public EventTimer() { addSettings(mod); } [USER=1474073]@Subscribe[/USER] public void onPacket(EventPacket event) { if (mc.player == null || mc.world == null) return; if (event.getPacket() instanceof SChatPacket packet) { String message = packet.getChatComponent().getString(); Matcher spookytimematcher = SPOOKYTIME_PATTERN.matcher(message); Matcher funtimematcher = FUNTIME_PATTERN.matcher(message); if (spookytimematcher.find()) { processEventTime(Integer.parseInt(spookytimematcher.group(1))); } else if (funtimematcher.find()) { processEventTime(Integer.parseInt(funtimematcher.group(1))); } } } private void processEventTime(int seconds) { int minutes = seconds / 60; int remainingSeconds = seconds % 60; String minuteText = getDeclension(minutes, "", "", ""); String secondText = getDeclension(remainingSeconds, "", "", ""); String timeMessage; if (minutes > 0 && remainingSeconds > 0) { timeMessage = String.format("До следующего ивента: Минут: %d Секунд:%s %d %s", minutes, minuteText, remainingSeconds, secondText); } else if (minutes > 0) { timeMessage = String.format("До следующего ивента: Минут: %d Секунд: %s", minutes, minuteText); } else { timeMessage = String.format("До следующего ивента: Минут: %d Секунд: %s", remainingSeconds, secondText); } if (mod.is("Уведомление")) { Notifications.NotificationCreator.add(timeMessage, 2); } else { if (mod.is("Чат")) { print(timeMessage); } } } private String getDeclension(int number, String singular, String pluralFew, String pluralMany) { int lastTwoDigits = number % 100; int lastDigit = number % 10; if (lastTwoDigits >= 11 && lastTwoDigits <= 14) { return pluralMany; } switch (lastDigit) { case 1: return singular; case 2: case 3: case 4: return pluralFew; default: return pluralMany; } } }