-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Как пофиксить ошибки в Staff-List этот стаф лист видет в ванише
код
код
Код:
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;
}
}
}
}
}