-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Чет я не могу ошибку найти. Кто знает что нетак ?
StaffList.java:
package srx.module.modules.visual;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.world.GameType;
import org.lwjgl.glfw.GLFW;
import srx.event.events.PlayerEvents;
import srx.event.events.RenderEvents;
import srx.module.ModuleSetting;
import srx.module.ModuleHeader;
import srx.event.RegisterEvent;
import srx.module.Module;
import java.util.regex.Pattern;
import java.util.HashSet;
import java.util.Locale;
import java.util.Set;
@ModuleHeader(name = "StaffList", category = ModuleSetting.Category.VISUAL, priority = ModuleSetting.Priority.PLUS)
public class StaffList extends Module {
private final Set<Staff> staffs = new HashSet<>();
private final Pattern mamePattern = Pattern.compile("^\\w{3,16}&");
private final Pattern prefixesDetectPattern = Pattern.compile(".[I](admin|moder|helper|yt).[/I]");
@RegisterEvent
private void onUpdate(PlayerEvents.Update e) {
assert mc.world != null;
assert mc.getConnection() != null;
staffs.clear();
mc.world.getScoreboard().getTeams().forEach(scorePlayerTeam -> {
ITextComponent playerPrefix = scorePlayerTeam.getPrefix();
String playerName = scorePlayerTeam.getName();
mc.getConnection().getPlayerInfoMap().forEach(networkPlayerInfo -> {
if (networkPlayerInfo.getGameProfile().getName().equals(playerName))
if (mamePattern.matcher(playerName).matches())
if (prefixesDetectPattern.matcher(playerPrefix.getString().toLowerCase(Locale.ROOT)).matches()) {
Staff staff = new Staff(playerPrefix, playerName);
staff.updateGameType();
staffs.add(staff);
}
});
});
}
@RegisterEvent
private void onRenderScreen(RenderEvents.Screen e) {
}
private static class Staff {
private final ITextComponent prefix;
private final String name;
private boolean vanish;
public Staff(ITextComponent prefix, String name) {
this.prefix = prefix;
this.name = name;
}
public void updateGameType() {
assert mc.getConnection() != null;
mc.getConnection().getPlayerInfoMap().forEach(networkPlayerInfo -> {
if (networkPlayerInfo.getGameProfile().getName().equals(name)) {
assert networkPlayerInfo.getGameType() != null;
vanish = (networkPlayerInfo.getGameType().equals(GameType.SPECTATOR));
}
});
}
@Override
public String toString() {
return String.format("Staff{prefix='%s' name='%s', is_vanish=%s}", prefix.getString(),name, vanish);
}
public ITextComponent getPrefix() {
return prefix;
}
public String getName() {
return name;
}
public boolean isVanish() {
return vanish;
}
}
}
Последнее редактирование: