AutoModerLeave || expensive 3.1

  • Автор темы Автор темы babyika
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
26 Авг 2023
Сообщения
43
Реакции
0
Взял от сюда: https://yougame.biz/threads/323952/page-2#post-3114138 ( noad )
Коротко и ясно.
1. Создаем класс AutoLeaveModer в im/expensive/functions/impl/player
В нём пишем:

AutoLeaveMode.java:
Expand Collapse Copy
package im.dedyshka.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import net.minecraft.util.text.ITextComponent;
import im.dedyshka.command.staffs.StaffStorage;
import java.util.Locale;
import im.dedyshka.utils.client.ClientUtil;
import net.minecraft.client.network.play.NetworkPlayerInfo;
import net.minecraft.scoreboard.ScorePlayerTeam;
import java.util.Comparator;
import net.minecraft.scoreboard.Team;
import net.minecraft.util.text.TextFormatting;
import im.dedyshka.utils.text.GradientUtil;
import im.dedyshka.events.EventUpdate;
import im.dedyshka.functions.settings.Setting;
import java.util.ArrayList;
import java.util.regex.Pattern;
import im.dedyshka.ui.display.impl.StaffListRenderer;
import java.util.List;
import im.dedyshka.functions.settings.impl.BooleanSetting;
import im.dedyshka.functions.api.Category;
import im.dedyshka.functions.api.FunctionRegister;
import im.dedyshka.functions.api.Function;

@FunctionRegister(name = "AutoLeaveModer", type = Category.Player)
public class AutoLeaveModer extends Function
{
    private final BooleanSetting specLeave;
    private final List<StaffListRenderer.Staff> staffPlayers;
    private final Pattern namePattern;
    private final Pattern prefixMatches;

    public AutoLeaveModer() {
        this.specLeave = new BooleanSetting("Ливать от спека", false);
        this.staffPlayers = new ArrayList<StaffListRenderer.Staff>();
        this.namePattern = Pattern.compile("^\\w{3,16}$");
        this.prefixMatches = Pattern.compile(".[I](mod|der|модер|adm|help|wne|хелп|адм|поддержка|кура|own|taf|curat|dev|supp|yt|сотруд).[/I]");
        this.addSettings(new Setting[] { (Setting)this.specLeave });
    }

    @Subscribe
    public void onUpdate(final EventUpdate e) {
        final ITextComponent iTextComponent = GradientUtil.gradient("Модератор в спеке!");
        final String serverHeader = TextFormatting.getTextWithoutFormattingCodes(AutoLeaveModer.mc.ingameGUI.getTabList().header.getString());
        this.staffPlayers.clear();
        for (ScorePlayerTeam team : mc.world.getScoreboard().getTeams().stream().sorted(Comparator.comparing(Team::getName)).toList()) {
            final String name = team.getMembershipCollection().toString().replaceAll("[\\[\\]]", "");
            boolean vanish = true;
            for (final NetworkPlayerInfo info : AutoLeaveModer.mc.getConnection().getPlayerInfoMap()) {
                if (info.getGameProfile().getName().equals(name)) {
                    vanish = false;
                }
            }
            if (!serverHeader.contains("Hub")) {
                if (!ClientUtil.isPvP() && this.namePattern.matcher(name).matches() && !name.equals(AutoLeaveModer.mc.player.getName().getString()) && !(boolean)this.specLeave.get() && (this.prefixMatches.matcher(team.getPrefix().getString().toLowerCase(Locale.ROOT)).matches() || StaffStorage.isStaff(name))) {
                    AutoLeaveModer.mc.player.connection.getNetworkManager().closeChannel(iTextComponent);
                }
                if (ClientUtil.isPvP() || ((!vanish || !(boolean)this.specLeave.get()) && (!StaffStorage.isStaff(name) || !(boolean)this.specLeave.get())) || team.getPrefix().getString().isEmpty()) {
                    continue;
                }
                AutoLeaveModer.mc.player.connection.getNetworkManager().closeChannel(iTextComponent);
            }
        }
    }
}
2. Добавляем функцию, чтобы вы могли её включить
Открываем класс FunctionRegistry по пути im/expensive/functions/api
В нём вписываем:
Снимок экрана 2024-07-07 221312.png

Потом пишем уже сюда эта:
Снимок экрана 2024-07-07 221437.png

Радуемся теперь если модер в спеке вас кикнет с сервера)))
1720379729701.png
 
Сделано хорошо, но для чего?
 
спизжено у меня
 
/del украдено из пасты Lighting
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Взял от сюда: https://yougame.biz/threads/323952/page-2#post-3114138 ( noad )
Коротко и ясно.
1. Создаем класс AutoLeaveModer в im/expensive/functions/impl/player
В нём пишем:

AutoLeaveMode.java:
Expand Collapse Copy
package im.dedyshka.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import net.minecraft.util.text.ITextComponent;
import im.dedyshka.command.staffs.StaffStorage;
import java.util.Locale;
import im.dedyshka.utils.client.ClientUtil;
import net.minecraft.client.network.play.NetworkPlayerInfo;
import net.minecraft.scoreboard.ScorePlayerTeam;
import java.util.Comparator;
import net.minecraft.scoreboard.Team;
import net.minecraft.util.text.TextFormatting;
import im.dedyshka.utils.text.GradientUtil;
import im.dedyshka.events.EventUpdate;
import im.dedyshka.functions.settings.Setting;
import java.util.ArrayList;
import java.util.regex.Pattern;
import im.dedyshka.ui.display.impl.StaffListRenderer;
import java.util.List;
import im.dedyshka.functions.settings.impl.BooleanSetting;
import im.dedyshka.functions.api.Category;
import im.dedyshka.functions.api.FunctionRegister;
import im.dedyshka.functions.api.Function;

@FunctionRegister(name = "AutoLeaveModer", type = Category.Player)
public class AutoLeaveModer extends Function
{
    private final BooleanSetting specLeave;
    private final List<StaffListRenderer.Staff> staffPlayers;
    private final Pattern namePattern;
    private final Pattern prefixMatches;

    public AutoLeaveModer() {
        this.specLeave = new BooleanSetting("Ливать от спека", false);
        this.staffPlayers = new ArrayList<StaffListRenderer.Staff>();
        this.namePattern = Pattern.compile("^\\w{3,16}$");
        this.prefixMatches = Pattern.compile(".[I](mod|der|модер|adm|help|wne|хелп|адм|поддержка|кура|own|taf|curat|dev|supp|yt|сотруд).[/I]");
        this.addSettings(new Setting[] { (Setting)this.specLeave });
    }

    @Subscribe
    public void onUpdate(final EventUpdate e) {
        final ITextComponent iTextComponent = GradientUtil.gradient("Модератор в спеке!");
        final String serverHeader = TextFormatting.getTextWithoutFormattingCodes(AutoLeaveModer.mc.ingameGUI.getTabList().header.getString());
        this.staffPlayers.clear();
        for (ScorePlayerTeam team : mc.world.getScoreboard().getTeams().stream().sorted(Comparator.comparing(Team::getName)).toList()) {
            final String name = team.getMembershipCollection().toString().replaceAll("[\\[\\]]", "");
            boolean vanish = true;
            for (final NetworkPlayerInfo info : AutoLeaveModer.mc.getConnection().getPlayerInfoMap()) {
                if (info.getGameProfile().getName().equals(name)) {
                    vanish = false;
                }
            }
            if (!serverHeader.contains("Hub")) {
                if (!ClientUtil.isPvP() && this.namePattern.matcher(name).matches() && !name.equals(AutoLeaveModer.mc.player.getName().getString()) && !(boolean)this.specLeave.get() && (this.prefixMatches.matcher(team.getPrefix().getString().toLowerCase(Locale.ROOT)).matches() || StaffStorage.isStaff(name))) {
                    AutoLeaveModer.mc.player.connection.getNetworkManager().closeChannel(iTextComponent);
                }
                if (ClientUtil.isPvP() || ((!vanish || !(boolean)this.specLeave.get()) && (!StaffStorage.isStaff(name) || !(boolean)this.specLeave.get())) || team.getPrefix().getString().isEmpty()) {
                    continue;
                }
                AutoLeaveModer.mc.player.connection.getNetworkManager().closeChannel(iTextComponent);
            }
        }
    }
}
2. Добавляем функцию, чтобы вы могли её включить
Открываем класс FunctionRegistry по пути im/expensive/functions/api
В нём вписываем:
Посмотреть вложение 280693
Потом пишем уже сюда эта:
Посмотреть вложение 280694
Радуемся теперь если модер в спеке вас кикнет с сервера)))
Посмотреть вложение 280695
фу, /del, оно было вообще в каком то другом мега супер клиенте, эта функция нихуя не робит
 
Взял от сюда: https://yougame.biz/threads/323952/page-2#post-3114138 ( noad )
Коротко и ясно.
1. Создаем класс AutoLeaveModer в im/expensive/functions/impl/player
В нём пишем:

AutoLeaveMode.java:
Expand Collapse Copy
package im.dedyshka.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import net.minecraft.util.text.ITextComponent;
import im.dedyshka.command.staffs.StaffStorage;
import java.util.Locale;
import im.dedyshka.utils.client.ClientUtil;
import net.minecraft.client.network.play.NetworkPlayerInfo;
import net.minecraft.scoreboard.ScorePlayerTeam;
import java.util.Comparator;
import net.minecraft.scoreboard.Team;
import net.minecraft.util.text.TextFormatting;
import im.dedyshka.utils.text.GradientUtil;
import im.dedyshka.events.EventUpdate;
import im.dedyshka.functions.settings.Setting;
import java.util.ArrayList;
import java.util.regex.Pattern;
import im.dedyshka.ui.display.impl.StaffListRenderer;
import java.util.List;
import im.dedyshka.functions.settings.impl.BooleanSetting;
import im.dedyshka.functions.api.Category;
import im.dedyshka.functions.api.FunctionRegister;
import im.dedyshka.functions.api.Function;

@FunctionRegister(name = "AutoLeaveModer", type = Category.Player)
public class AutoLeaveModer extends Function
{
    private final BooleanSetting specLeave;
    private final List<StaffListRenderer.Staff> staffPlayers;
    private final Pattern namePattern;
    private final Pattern prefixMatches;

    public AutoLeaveModer() {
        this.specLeave = new BooleanSetting("Ливать от спека", false);
        this.staffPlayers = new ArrayList<StaffListRenderer.Staff>();
        this.namePattern = Pattern.compile("^\\w{3,16}$");
        this.prefixMatches = Pattern.compile(".[I](mod|der|модер|adm|help|wne|хелп|адм|поддержка|кура|own|taf|curat|dev|supp|yt|сотруд).[/I]");
        this.addSettings(new Setting[] { (Setting)this.specLeave });
    }

    @Subscribe
    public void onUpdate(final EventUpdate e) {
        final ITextComponent iTextComponent = GradientUtil.gradient("Модератор в спеке!");
        final String serverHeader = TextFormatting.getTextWithoutFormattingCodes(AutoLeaveModer.mc.ingameGUI.getTabList().header.getString());
        this.staffPlayers.clear();
        for (ScorePlayerTeam team : mc.world.getScoreboard().getTeams().stream().sorted(Comparator.comparing(Team::getName)).toList()) {
            final String name = team.getMembershipCollection().toString().replaceAll("[\\[\\]]", "");
            boolean vanish = true;
            for (final NetworkPlayerInfo info : AutoLeaveModer.mc.getConnection().getPlayerInfoMap()) {
                if (info.getGameProfile().getName().equals(name)) {
                    vanish = false;
                }
            }
            if (!serverHeader.contains("Hub")) {
                if (!ClientUtil.isPvP() && this.namePattern.matcher(name).matches() && !name.equals(AutoLeaveModer.mc.player.getName().getString()) && !(boolean)this.specLeave.get() && (this.prefixMatches.matcher(team.getPrefix().getString().toLowerCase(Locale.ROOT)).matches() || StaffStorage.isStaff(name))) {
                    AutoLeaveModer.mc.player.connection.getNetworkManager().closeChannel(iTextComponent);
                }
                if (ClientUtil.isPvP() || ((!vanish || !(boolean)this.specLeave.get()) && (!StaffStorage.isStaff(name) || !(boolean)this.specLeave.get())) || team.getPrefix().getString().isEmpty()) {
                    continue;
                }
                AutoLeaveModer.mc.player.connection.getNetworkManager().closeChannel(iTextComponent);
            }
        }
    }
}
2. Добавляем функцию, чтобы вы могли её включить
Открываем класс FunctionRegistry по пути im/expensive/functions/api
В нём вписываем:
Посмотреть вложение 280693
Потом пишем уже сюда эта:
Посмотреть вложение 280694
Радуемся теперь если модер в спеке вас кикнет с сервера)))
Посмотреть вложение 280695
вроде норм
 
Взял от сюда: https://yougame.biz/threads/323952/page-2#post-3114138 ( noad )
Коротко и ясно.
1. Создаем класс AutoLeaveModer в im/expensive/functions/impl/player
В нём пишем:

AutoLeaveMode.java:
Expand Collapse Copy
package im.dedyshka.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import net.minecraft.util.text.ITextComponent;
import im.dedyshka.command.staffs.StaffStorage;
import java.util.Locale;
import im.dedyshka.utils.client.ClientUtil;
import net.minecraft.client.network.play.NetworkPlayerInfo;
import net.minecraft.scoreboard.ScorePlayerTeam;
import java.util.Comparator;
import net.minecraft.scoreboard.Team;
import net.minecraft.util.text.TextFormatting;
import im.dedyshka.utils.text.GradientUtil;
import im.dedyshka.events.EventUpdate;
import im.dedyshka.functions.settings.Setting;
import java.util.ArrayList;
import java.util.regex.Pattern;
import im.dedyshka.ui.display.impl.StaffListRenderer;
import java.util.List;
import im.dedyshka.functions.settings.impl.BooleanSetting;
import im.dedyshka.functions.api.Category;
import im.dedyshka.functions.api.FunctionRegister;
import im.dedyshka.functions.api.Function;

@FunctionRegister(name = "AutoLeaveModer", type = Category.Player)
public class AutoLeaveModer extends Function
{
    private final BooleanSetting specLeave;
    private final List<StaffListRenderer.Staff> staffPlayers;
    private final Pattern namePattern;
    private final Pattern prefixMatches;

    public AutoLeaveModer() {
        this.specLeave = new BooleanSetting("Ливать от спека", false);
        this.staffPlayers = new ArrayList<StaffListRenderer.Staff>();
        this.namePattern = Pattern.compile("^\\w{3,16}$");
        this.prefixMatches = Pattern.compile(".[I](mod|der|модер|adm|help|wne|хелп|адм|поддержка|кура|own|taf|curat|dev|supp|yt|сотруд).[/I]");
        this.addSettings(new Setting[] { (Setting)this.specLeave });
    }

    @Subscribe
    public void onUpdate(final EventUpdate e) {
        final ITextComponent iTextComponent = GradientUtil.gradient("Модератор в спеке!");
        final String serverHeader = TextFormatting.getTextWithoutFormattingCodes(AutoLeaveModer.mc.ingameGUI.getTabList().header.getString());
        this.staffPlayers.clear();
        for (ScorePlayerTeam team : mc.world.getScoreboard().getTeams().stream().sorted(Comparator.comparing(Team::getName)).toList()) {
            final String name = team.getMembershipCollection().toString().replaceAll("[\\[\\]]", "");
            boolean vanish = true;
            for (final NetworkPlayerInfo info : AutoLeaveModer.mc.getConnection().getPlayerInfoMap()) {
                if (info.getGameProfile().getName().equals(name)) {
                    vanish = false;
                }
            }
            if (!serverHeader.contains("Hub")) {
                if (!ClientUtil.isPvP() && this.namePattern.matcher(name).matches() && !name.equals(AutoLeaveModer.mc.player.getName().getString()) && !(boolean)this.specLeave.get() && (this.prefixMatches.matcher(team.getPrefix().getString().toLowerCase(Locale.ROOT)).matches() || StaffStorage.isStaff(name))) {
                    AutoLeaveModer.mc.player.connection.getNetworkManager().closeChannel(iTextComponent);
                }
                if (ClientUtil.isPvP() || ((!vanish || !(boolean)this.specLeave.get()) && (!StaffStorage.isStaff(name) || !(boolean)this.specLeave.get())) || team.getPrefix().getString().isEmpty()) {
                    continue;
                }
                AutoLeaveModer.mc.player.connection.getNetworkManager().closeChannel(iTextComponent);
            }
        }
    }
}
2. Добавляем функцию, чтобы вы могли её включить
Открываем класс FunctionRegistry по пути im/expensive/functions/api
В нём вписываем:
Посмотреть вложение 280693
Потом пишем уже сюда эта:
Посмотреть вложение 280694
Радуемся теперь если модер в спеке вас кикнет с сервера)))
Посмотреть вложение 280695
В чем прикол этой функции? Плюсом нахуй это делать отдельным классом если мог бы просто добавить чекбокс в AutoLeave:roflanEbalo:
 
ты не мог дописать if(!свой основной класс.isPvp()) что бы хотя бы в кт не ливало
Свой основной класс? ты имеешь ввиду название функции свое? я просто хочу сделать что-бы в кт не ливало но чучу-ть не понял
 

Похожие темы

Назад
Сверху Снизу