1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите java.lang.NoSuchFieldException: a

Тема в разделе "Разработка плагинов для новичков", создана пользователем Namer_PRO, 17 мар 2019.

?

Это только у меня?

  1. Это на всех 1_13_R2

    0 голосов
    0,0%
  2. Да, только у тебя

    0 голосов
    0,0%
  3. Неее, у всех))

    0 голосов
    0,0%
  4. Я хочу написать в комментариях: "Используй протокол либ" (никто же не нажмет)

    1 голосов
    25,0%
  5. Я хочу написать в комментариях, что твой код плохой (даже не наводим на это курсор xD)

    3 голосов
    75,0%
  1. Автор темы
    Namer_PRO

    Namer_PRO Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    Ругается на это:
    PHP:
    pHeader packet.getClass().getDeclaredField("a");
    Ругается так:
    PHP:
    [20:41:01 WARN]: java.lang.NoSuchFieldExceptiona
    [20:41:01 WARN]:        at java.lang.Class.getField(Unknown Source)
    [
    20:41:01 WARN]:        at ru.namerpro.testPlugin.TabList.setTabListHeaderFooter(TabList.java:35)
    [
    20:41:01 WARN]:        at ru.namerpro.testPlugin.Main.displayTab(Main.java:53)
    [
    20:41:01 WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [
    20:41:01 WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    [
    20:41:01 WARN]:        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    [
    20:41:01 WARN]:        at java.lang.reflect.Method.invoke(Unknown Source)
    [
    20:41:01 WARN]:        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305)
    [
    20:41:01 WARN]:        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    [
    20:41:01 WARN]:        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501)
    [
    20:41:01 WARN]:        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486)
    [
    20:41:01 WARN]:        at net.minecraft.server.v1_13_R2.PlayerList.onPlayerJoin(PlayerList.java:343)
    [
    20:41:01 WARN]:        at net.minecraft.server.v1_13_R2.PlayerList.a(PlayerList.java:162)
    [
    20:41:01 WARN]:        at net.minecraft.server.v1_13_R2.LoginListener.b(LoginListener.java:149)
    [
    20:41:01 WARN]:        at net.minecraft.server.v1_13_R2.LoginListener.tick(LoginListener.java:53)
    [
    20:41:01 WARN]:        at net.minecraft.server.v1_13_R2.NetworkManager.a(NetworkManager.java:230)
    [
    20:41:01 WARN]:        at net.minecraft.server.v1_13_R2.ServerConnection.c(ServerConnection.java:119)
    [
    20:41:01 WARN]:        at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:994)
    [
    20:41:01 WARN]:        at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:417)
    [
    20:41:01 WARN]:        at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:831)
    [
    20:41:01 WARN]:        at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:729)
    [
    20:41:01 WARN]:        at java.lang.Thread.run(Unknown Source)
    Весь код:
    PHP:
    package ru.namerpro.TabListForBumirang;

    import java.lang.reflect.Field;

    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.craftbukkit.v1_13_R2.entity.CraftPlayer;
    import org.bukkit.entity.Player;

    import net.minecraft.server.v1_13_R2.ChatComponentText;
    import net.minecraft.server.v1_13_R2.IChatBaseComponent;
    import net.minecraft.server.v1_13_R2.PacketPlayOutPlayerListHeaderFooter;
    import net.minecraft.server.v1_13_R2.PlayerConnection;

    public class 
    TabList
    {
        
        public static 
    void setTabListHeaderFooter(Player playerString headerString footer)
        {
            
            
    CraftPlayer cplayer = (CraftPlayerplayer;
            
    PlayerConnection con cplayer.getHandle().playerConnection;
            
            
    PacketPlayOutPlayerListHeaderFooter packet = new PacketPlayOutPlayerListHeaderFooter();
            
            
    IChatBaseComponent setHeader = new ChatComponentText(translateColorCodes(header));
            
    IChatBaseComponent setFooter = new ChatComponentText(translateColorCodes(footer));
            
            
    Field pHeader null;
            
    Field pFooter null;
            
            try
            {
                
                
    pHeader packet.getClass().getDeclaredField("a");
                
                
    pHeader.setAccessible(true);
                
    pHeader.set(packetsetHeader);
                
    pHeader.setAccessible(!pHeader.isAccessible());
                
                
                
    pFooter packet.getClass().getDeclaredField("b");
                
                
    pFooter.setAccessible(true);
                
    pFooter.set(packetsetFooter);
                
    pFooter.setAccessible(!pFooter.isAccessible());
                
            }
            catch(
    Exception error)
            {
                
                
    Bukkit.getConsoleSender().sendMessage(ChatColor.RED "Packets error! If everything is ok with your config, contact me on spigot discussion page or pm. Send me config file and error:");
                
                
    error.printStackTrace();
                
            }
            
            
    con.sendPacket(packet);
            
        }
        
        public static 
    String translateColorCodes(String textToBeTranslated)
        {
            
            return 
    ChatColor.translateAlternateColorCodes('&'textToBeTranslated);
            
        }
        
    }
    Вопрос?
    Как это исправить...
     
  2. Автор темы
    Namer_PRO

    Namer_PRO Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    Я рад любому совету :good:
     
  3. DeethzzCoder

    DeethzzCoder Активный участник Пользователь

    Баллы:
    76
    Зачем? Player#setPlayerListHeaderFooter
     
  4. Автор темы
    Namer_PRO

    Namer_PRO Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    Спасибо, а с какой версии это появилось и зачем тогда NMS для таб листа (полно уроков есть на эту тему просто и что это все бестолково?)?
    Т.е. для анимации я могу через Scheduler вызывать Player#setPlayerListHeaderFooter?
     
  5. DeethzzCoder

    DeethzzCoder Активный участник Пользователь

    Баллы:
    76
    Точно не помню, вроде с 1.13.2. Уроков полно, т.к они до появления 1.13.2 вышли.
    Скорее всего можешь, попробуй.
     
  6. Автор темы
    Namer_PRO

    Namer_PRO Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    У меня \n не работает. Как быть?
    Просто не рисует то, что после \n
     
  7. Автор темы
    Namer_PRO

    Namer_PRO Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    Как переносить строки?
     
  8. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Уже и такое есть? Я пропустил).
     
  9. Автор темы
    Namer_PRO

    Namer_PRO Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    Есть-то оно есть, НО! Как делать перенос строки!!!
     
  10. Автор темы
    Namer_PRO

    Namer_PRO Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Namer_PRO
    Кстати, а не вы ли это навели курсор на последний пункт в моем опросе :ninja: ?
     

Поделиться этой страницей