Solved PacketPlayOutTitle Problem

Discussion in 'Plugin Development' started by tkuiyeager1, Oct 11, 2015.

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

    tkuiyeager1

    I have a method on one class:
    Code:
    public static PacketPlayOutTitle newTitle(Player player, String string) {
            PacketPlayOutTitle title = new PacketPlayOutTitle(
                    EnumTitleAction.TITLE, ChatSerializer.a(string));
            CraftPlayer cp = (CraftPlayer) player;
            EntityPlayer ep = cp.getHandle();
            ep.playerConnection.sendPacket(title);
            return title;
        }
    and my main class:
    Code:
    if (label.equalsIgnoreCase("testtitle")) {
                if (sender instanceof Player) {
                    Player p = (Player) sender;
                    if (args.length == 0) {
                        String test = "This Is A Test";
                        DevelopersAPI.newTitle(p, test);
                    } else {
                        p.sendMessage("/testtitle");
                    }
                } else {
                    sender.sendMessage("only players can use this command");
                }
            }
    and when i try to use this command on my server i get this error:
    Code:
    [19:55:18 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'test
    title' in plugin TestingPlugin v1.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spi
    got.jar:git-Spigot-f928e7a-f27339c]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
    1) ~[spigot.jar:git-Spigot-f928e7a-f27339c]
            at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServe
    r.java:642) ~[spigot.jar:git-Spigot-f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerCon
    nection.java:1135) [spigot.jar:git-Spigot-f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java
    :970) [spigot.jar:git-Spigot-f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java
    :45) [spigot.jar:git-Spigot-f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java
    :1) [spigot.jar:git-Spigot-f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:1
    3) [spigot.jar:git-Spigot-f928e7a-f27339c]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [
    ?:1.8.0_60]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_60]
            at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [spig
    ot.jar:git-Spigot-f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:7
    18) [spigot.jar:git-Spigot-f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:3
    67) [spigot.jar:git-Spigot-f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:6
    57) [spigot.jar:git-Spigot-f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java
    :560) [spigot.jar:git-Spigot-f928e7a-f27339c]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_60]
    Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.Malformed
    JsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line
    1 column 7
            at com.google.gson.Gson.assertFullConsumption(Gson.java:779) ~[spigot.ja
    r:git-Spigot-f928e7a-f27339c]
            at com.google.gson.Gson.fromJson(Gson.java:769) ~[spigot.jar:git-Spigot-
    f928e7a-f27339c]
            at com.google.gson.Gson.fromJson(Gson.java:717) ~[spigot.jar:git-Spigot-
    f928e7a-f27339c]
            at com.google.gson.Gson.fromJson(Gson.java:689) ~[spigot.jar:git-Spigot-
    f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.IChatBaseComponent$ChatSerializer.a(Sour
    ceFile:199) ~[spigot.jar:git-Spigot-f928e7a-f27339c]
            at me.tkuiyeager1.testingplugin.DevelopersAPI.newTitle(DevelopersAPI.jav
    a:15) ~[?:?]
            at me.tkuiyeager1.testingplugin.Main.onCommand(Main.java:25) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spi
    got.jar:git-Spigot-f928e7a-f27339c]
            ... 15 more
    Caused by: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLeni
    ent(true) to accept malformed JSON at line 1 column 7
            at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505) ~
    [spigot.jar:git-Spigot-f928e7a-f27339c]
            at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1386)
    ~[spigot.jar:git-Spigot-f928e7a-f27339c]
            at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:531) ~[spigo
    t.jar:git-Spigot-f928e7a-f27339c]
            at com.google.gson.stream.JsonReader.peek(JsonReader.java:414) ~[spigot.
    jar:git-Spigot-f928e7a-f27339c]
            at com.google.gson.Gson.assertFullConsumption(Gson.java:775) ~[spigot.ja
    r:git-Spigot-f928e7a-f27339c]
            at com.google.gson.Gson.fromJson(Gson.java:769) ~[spigot.jar:git-Spigot-
    f928e7a-f27339c]
            at com.google.gson.Gson.fromJson(Gson.java:717) ~[spigot.jar:git-Spigot-
    f928e7a-f27339c]
            at com.google.gson.Gson.fromJson(Gson.java:689) ~[spigot.jar:git-Spigot-
    f928e7a-f27339c]
            at net.minecraft.server.v1_8_R3.IChatBaseComponent$ChatSerializer.a(Sour
    ceFile:199) ~[spigot.jar:git-Spigot-f928e7a-f27339c]
            at me.tkuiyeager1.testingplugin.DevelopersAPI.newTitle(DevelopersAPI.jav
    a:15) ~[?:?]
            at me.tkuiyeager1.testingplugin.Main.onCommand(Main.java:25) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spi
    got.jar:git-Spigot-f928e7a-f27339c]
            ... 15 more
    Method class line 14 - 15:
    Code:
    PacketPlayOutTitle title = new PacketPlayOutTitle(
                    EnumTitleAction.TITLE, ChatSerializer.a(string));
    Main class line 25:
    Code:
    DevelopersAPI.newTitle(p, test);
    Someone knows how to solve this?

    Note: code will be removed when the issue will be solved
     
  2. Offline

    DSCxSander

    Hey! I used this, and it works fine.

    Code:
        public static void sendTitle(Player player, String title, String subtitle, int fadeIn, int stay, int fadeOut) {
            CraftPlayer craftplayer = (CraftPlayer) player;
            PlayerConnection connection = craftplayer.getHandle().playerConnection;
            IChatBaseComponent titleJSON = ChatSerializer.a("{'text': '" + title + "'}");
            IChatBaseComponent subtitleJSON = ChatSerializer.a("{'text': '" + subtitle + "'}");
            PacketPlayOutTitle titlePacket = new PacketPlayOutTitle(EnumTitleAction.TITLE, titleJSON, fadeIn, stay, fadeOut);
            PacketPlayOutTitle subtitlePacket = new PacketPlayOutTitle(EnumTitleAction.SUBTITLE, subtitleJSON);
            connection.sendPacket(titlePacket);
            connection.sendPacket(subtitlePacket);
        }
     
  3. Offline

    tkuiyeager1

    thanks, but i dont think its ok i will use this code if i want to make my own Title API
     
Thread Status:
Not open for further replies.

Share This Page