Вопрос Как пофиксить ошибки в Staff-List

Начинающий
Статус
Оффлайн
Регистрация
31 Авг 2022
Сообщения
364
Реакции[?]
4
Поинты[?]
7K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Как пофиксить ошибки в Staff-List этот стаф лист видет в ванишеScreenshot_69.pngScreenshot_70.png
код
Код:
package Enight.feature.impl.misc;


import Enight.draggable.component.impl.DraggableStaffList;
import Enight.event.EventTarget;
import Enight.event.events.impl.player.EventPlayer;
import Enight.event.events.impl.player.EventUpdate;
import Enight.event.events.impl.render.EventDisplay;
import Enight.feature.Feature;
import Enight.feature.impl.FeatureCategory;
import Enight.enight;
import Enight.utils.render.RenderUtils;
import Enight.feature.impl.hud.Hud;
import Enight.utils.render.RoundedUtil;
import com.google.common.collect.Maps;
import com.mojang.authlib.GameProfile;
import com.mojang.realmsclient.gui.ChatFormatting;
import javafx.scene.transform.Translate;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiPlayerTabOverlay;
import net.minecraft.client.network.NetworkPlayerInfo;
import net.minecraft.network.play.server.SPacketPlayerListItem;

import java.awt.*;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;

public class StaffList extends Feature {
    public StaffList() {
        super("StaffList", "Детектит модерацию сервера и показывает её в отдельном листе", FeatureCategory.Player);
    }
    public final DraggableStaffList staffListDrag = (DraggableStaffList) enight.instance.draggableHUD.getDraggableComponentByClass(DraggableStaffList.class);
    public Translate translate = new Translate(0.0F, 0.0F);
    public static Map cachedPersonals = Maps.newHashMap();

    public NetworkPlayerInfo getPlayerInfo(String var1) {
        Iterator var2 = cachedPersonals.entrySet().iterator();
        if (var2.hasNext()) {
            Map.Entry var3 = (Map.Entry)var2.next();
            Iterator var4 = Minecraft.player.connection.getPlayerInfoMap().iterator();
            if (var4.hasNext()) {
                NetworkPlayerInfo var5 = (NetworkPlayerInfo)var4.next();
                return var5.getDisplayName().getUnformattedText().contains((CharSequence)var3.getKey()) ? var5 : null;
            } else {
                return null;
            }
        } else {
            return null;
        }
    }

    @EventTarget
    public void onUpdate(EventUpdate var1) {
        int var2 = 0;
        Iterator var3 = ((List)cachedPersonals.keySet().stream().map(this.getPlayerInfo).collect(Collectors.toList())).iterator();
        if (var3.hasNext()) {
            NetworkPlayerInfo var4 = (NetworkPlayerInfo)var3.next();
            if (var4 == null) {
                cachedPersonals.remove(cachedPersonals.keySet().toArray()[var2]);
            }

            ++var2;
        }
    }

    @EventTarget
    public void onPlayer(EventPlayer var1) {
        if (var1.getAction() == SPacketPlayerListItem.Action.ADD_PLAYER && var1.getPlayerData().getDisplayName().getUnformattedText().toLowerCase() != false) {
            (new Thread(this.onPlayer)).start();
        }

        if (var1.getAction() == SPacketPlayerListItem.Action.UPDATE_DISPLAY_NAME) {
            GameProfile var10001 = var1.getPlayerData().getProfile();
            if (var10001 < Minecraft.player.connection.getPlayerInfo(var1.getPlayerData().getProfile().getId()).getPlayerTeam().getPrefix()) {
                GameProfile var2 = var1.getPlayerData().getProfile();
                if (var2 < Minecraft.player.connection.getPlayerInfo(var1.getPlayerData().getProfile().getId()).getPlayerTeam().getPrefix()) {
                    cachedPersonals.put(Minecraft.player.connection.getPlayerInfo(var1.getPlayerData().getProfile().getId()).getDisplayName().getUnformattedText(), var1.getPlayerData().getProfile().getName());
                }
            } else {
                cachedPersonals.remove(Minecraft.player.connection.getPlayerInfo(var1.getPlayerData().getProfile().getId()).getDisplayName().getUnformattedText());
            }
        }

    }

    private List getTabPlayers() {
        return (List)GuiPlayerTabOverlay.ENTRY_ORDERING.sortedCopy(Minecraft.player.connection.getPlayerInfoMap()).stream().map(StaffListModule::lambda$getTabPlayers$1).collect(Collectors.toList());
    }

    private static String getTabPlayers(NetworkPlayerInfo var0) {
        return var0.getDisplayName() != null ? var0.getDisplayName().getFormattedText() : null;
    }

    private void onPlayer(EventPlayer var1) {
        try {
            TimeUnit.SECONDS.sleep(1L);
        } catch (InterruptedException var3) {
            throw new RuntimeException(var3);
        }

        GameProfile var10001 = var1.getPlayerData().getProfile();
        if (var10001 < Minecraft.player.connection.getPlayerInfo(var1.getPlayerData().getProfile().getId()).getPlayerTeam().getPrefix()) {
            cachedPersonals.put(Minecraft.player.connection.getPlayerInfo(var1.getPlayerData().getProfile().getId()).getDisplayName().getUnformattedText(), var1.getPlayerData().getProfile().getName());
        }

    }

    private boolean havePermissionFixed(String var1) {
        return var1.contains("helper") || var1.contains("хелпер") || var1.contains("модер") || var1.contains("moder") || var1.contains("куратор") || var1.contains("админ") || var1.contains("admin");
    }

    private static int onDisplay(String var0, String var1) {
        return mc.fontRendererObj.getStringWidth(var0) > mc.fontRendererObj.getStringWidth(var1) ? -1 : 1;
    }

    @EventTarget
    public void onDisplay(EventDisplay var1) {
        if (!cachedPersonals.isEmpty()) {
            double var2 = cachedPersonals.size() > 0 ? (double)mc.fontRendererObj.getStringWidth((String)cachedPersonals.keySet().stream().min(StaffList.onDisplay).get()) : 36.0;
            this.translate.interpolate(var2, (double)Math.max(0, cachedPersonals.keySet().size() * 14), 0.05);
            float var4 = this.staffListDrag.getX();
            float var5 = this.staffListDrag.getY();
            this.staffListDrag.setWidth(124);
            this.staffListDrag.setHeight(52);
            RenderUtils.drawGlow(var4, var5, (float)(25.0 + this.translate.getX()) + 30.0F, (float)(19 + cachedPersonals.keySet().size() * 9), 10, new Color(8, 8, 8, 150));
            RoundedUtil.drawRound(var4, var5, (float)(25.0 + this.translate.getX()) + 30.0F, (float)(19 + cachedPersonals.keySet().size() * 9), 2.0F, new Color(8, 8, 8));
            mc.fontRendererObj.drawCenteredString("Персонал сервера", (double)(var4 + 28.0F) + this.translate.getX() / 2.0, (double)(var5 + 5.0F), -1);
            if (!cachedPersonals.isEmpty()) {
                RenderUtils.horizontalGradient((double)var4, (double)(var5 + 13.0F), 25.0 + this.translate.getX() + 30.0, 0.5, Hud.getColor(280).getRGB(), Hud.getColor(0).getRGB(), Hud.getColor(80).getRGB(), Hud.getColor(180).getRGB());
            }

            int var6 = 15;
            Iterator var7 = cachedPersonals.keySet().iterator();
            if (var7.hasNext()) {
                String var8 = (String)var7.next();
                if (!cachedPersonals.isEmpty()) {
                    FontRenderer var10000 = mc.fontRendererObj;
                    this.drawString(var8 != false ? ChatFormatting.GREEN + "Активный" : ChatFormatting.RED + "Ванише", (double)(var4 + 55.0F) + this.translate.getX() - (double)mc.fontRendererObj.getStringWidth(!this.getTabPlayers().contains(var8) ? "АКТИВНЫЙ" : "ВАНИШЕ"), (double)(var5 + (float)var6 + 5.0F), (new Color(255, 255, 255, 255)).getRGB());
                    mc.fontRendererObj.drawString(var8, var4 + 1.0F, var5 + 5.0F + (float)var6, -1);
                    var6 += 9;
                }
            }
        }
    }
}
 
Сверху Снизу