-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Всем ку, сливаю уведомления о бане игроков, в себе содержит ник забаненного, причину и срок, исходник не мой, но изначально там было только уведомление что был бан, тоесть не писало ни причину ни ник ни срок, короче держите
SS:
Держите, можно сказать чуть запоздалый подарок на нг, кому надо чуть подправит незначительные ошибки в коде, заменит вывод текста на print или свои системы, всем удачи
SS:
BanNotification, опять мойтен слил какую то хуйню?:
package fgnepasti.wonderful.ui.display.notifutils;
import com.google.common.eventbus.Subscribe;
import fgnepasti.wonderful.events.EventPacket;
import fgnepasti.wonderful.functions.api.Category;
import fgnepasti.wonderful.functions.api.Function;
import fgnepasti.wonderful.functions.api.FunctionRegister;
import fgnepasti.wonderful.functions.api.Notificpenus;
import fgnepasti.wonderful.functions.settings.impl.BooleanSetting;
import net.minecraft.network.IPacket;
import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.network.play.server.SJoinGamePacket;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextFormatting;
import net.minecraft.util.text.event.HoverEvent;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@FunctionRegister(name = "BanNotification", type = Category.Render)
public class BanNotif extends Function {
public final BooleanSetting name = new BooleanSetting("Писать ник", true);
public final BooleanSetting srok = new BooleanSetting("Писать срок", false);
private final Pattern banMessagePattern = Pattern.compile("\\[♨] (\\S+) забанен \\[Подробнее\\]", 256);
private final Pattern reasonPattern1 = Pattern.compile("Причина: Пункт (\\d+\\.\\d+|\\d+\\.\\d+\\.\\d+)", 256);
private final Pattern reasonPattern2 = Pattern.compile("Причина: \\[FunAC\\] Пункт (\\d+\\.\\d+|\\d+\\.\\d+\\.\\d+)", 256);
private final Pattern srokPattern = Pattern.compile("Окончание: (\\d{1,3} д|навсегда)", Pattern.CASE_INSENSITIVE);
{
addSettings(name, srok);
}
@Subscribe
public void onReceivePacket(EventPacket e) {
IPacket packet = e.getPacket();
if (packet instanceof SChatPacket packet1) {
String s1 = packet1.getChatComponent().getString();
Matcher matcher = this.banMessagePattern.matcher(s1);
if (matcher.find()) {
try {
String bannedPlayer = "";
if (name.get()) {
bannedPlayer = matcher.group(1);
}
ITextComponent component = packet1.getChatComponent();
HoverEvent hoverEvent = component.getStyle().getHoverEvent();
String reason = " за неизвестно";
String dlina = " на неизвестно";
if (hoverEvent != null) {
String s = ((ITextComponent) hoverEvent.getParameter(HoverEvent.Action.SHOW_TEXT)).getString();
Matcher matcher1 = this.reasonPattern1.matcher(s);
Matcher matcher2 = this.reasonPattern2.matcher(s);
if (matcher1.find()) {
reason = " за " + matcher1.group(1);
} else if (matcher2.find()) {
reason = " от [FunAC] за " + matcher2.group(1);
}
Matcher matcher3 = srokPattern.matcher(s);
if (matcher3.find()) {
if (srok.get()) {
if (matcher3.group(1).equals("навсегда")) {
dlina = " " + matcher3.group(1);
} else {
dlina = " на " + matcher3.group(1);
}
} else {
dlina = "";
}
}
}
Notificpenus.NOTIFICATION_MANAGER.add(TextFormatting.RED + "" + TextFormatting.BOLD +
"БАН " + TextFormatting.WHITE + bannedPlayer + reason + dlina, "warn", 5);
} catch (Exception exception) {
exception.printStackTrace();
}
}
}
}
}
Держите, можно сказать чуть запоздалый подарок на нг, кому надо чуть подправит незначительные ошибки в коде, заменит вывод текста на print или свои системы, всем удачи