How to change the text thats shown instead of playernames in Serverlist?

Discussion in 'Plugin Development' started by ByLogix, Jun 16, 2018.

Thread Status:
Not open for further replies.
  1. Offline

    ByLogix

    Hey,
    I want to change the Text that is shown if a user hovers over the player count, I want to show a custom text instead of the players names..

    Inked2018-06-16_21.53.13_LI.jpg
     
  2. Offline

    Zombie_Striker

  3. Offline

    ByLogix

    How can I create and set the new Iterator?
     
  4. Online

    timtower Administrator Administrator Moderator

    Try removing first
     
  5. Offline

    ByLogix

    I tried this:

    Code:
    @EventHandler
        public void listevent(ServerListPingEvent e){
            while (e.iterator().hasNext()) {
                e.iterator().remove();
            }
        }
    But it doesn't seem to work.
     
  6. Online

    timtower Administrator Administrator Moderator

    @ByLogix Please post your full class
     
  7. Offline

    ByLogix

    It isn't much more...

    Code:
    package de.actualcb.listeners;
    
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.server.ServerListPingEvent;
    
    public class ServerlistEvent implements Listener {
    
        @EventHandler
        public void listevent(ServerListPingEvent e){
            while (e.iterator().hasNext()) {
                e.iterator().remove();
            }
        }
    
    }
    
     
  8. Online

    timtower Administrator Administrator Moderator

    @ByLogix Did you register the event?
     
  9. Offline

    ByLogix

    Yes, I did.

    I see, that i get an Error:

    Code:
    [17:09:15 ERROR]: Could not pass event ServerListPingEvent to CB1_12 v0.1
    org.bukkit.event.EventException: null
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at net.minecraft.server.v1_12_R1.PacketStatusListener.a(PacketStatusListener.java:101) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at net.minecraft.server.v1_12_R1.PacketStatusInStart.a(SourceFile:23) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at net.minecraft.server.v1_12_R1.PacketStatusInStart.a(SourceFile:8) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:126) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at net.minecraft.server.v1_12_R1.NetworkManager.channelRead0(NetworkManager.java:330) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at net.minecraft.server.v1_12_R1.NetworkManager.channelRead0(NetworkManager.java:1) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:808) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) [spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
    Caused by: java.lang.IllegalStateException
            at net.minecraft.server.v1_12_R1.PacketStatusListener$1ServerListPingEvent$1.remove(PacketStatusListener.java:92) ~[spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            at de.actualcb.listeners.ServerlistEvent.listevent(ServerlistEvent.java:12) ~[?:?]
            at sun.reflect.GeneratedMethodAccessor225.invoke(Unknown Source) ~[?:?]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_162]
            at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_162]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1.12.2.jar:git-Spigot-2086bb0-2f3ed3b]
            ... 36 more
    
    That's Line 12 from ServerlistEvent.java:

    Code:
    e.iterator().remove();

    Complete Class again:

    Code:
    package de.actualcb.listeners;
    
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.server.ServerListPingEvent;
    
    public class ServerlistEvent implements Listener {
    
        @EventHandler
        public void listevent(ServerListPingEvent e){
            while (e.iterator().hasNext()) {
                e.iterator().remove();
            }
        }
    
    }
    
     
    Last edited by a moderator: Jun 18, 2018
  10. Online

    timtower Administrator Administrator Moderator

    @ByLogix Might also need to call next, not sure though.
     
  11. Offline

    CommonSenze

    @timtower @ByLogix

    Just use ProtocolLib and set the hover to a new arraylist of wrapped game profiles with the name of the profiles being what you want to put. This is an example of mine:
     

    Attached Files:

  12. Offline

    ByLogix


    I try to use no APIs
     
  13. Online

    timtower Administrator Administrator Moderator

    Then abstraction with NMS
     
Thread Status:
Not open for further replies.

Share This Page