Solved Chat Formatting

Discussion in 'Plugin Development' started by Maneo, Nov 14, 2016.

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

    Maneo

    I have been struggling with this a lot... I am trying to create a simple Chat Format plugin for my server, but I just can't figure it out... it works with one format setting and one permission, but as soon as I add more permissions it has an error in my plugin.yml (according to the console) and doesn't even load...

    There also aren't any updated Tutorials or decent documentation regarding this... so I am very lost.

    My code: (Compiler error free)
    Code:
    
    package io.maneo.chat;
    
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Chat extends JavaPlugin implements Listener {
    
        public void onEnable() {
            getServer().getPluginManager().registerEvents(this, this);
        }
    
        @EventHandler
      
        public void onChat(AsyncPlayerChatEvent event) {
            Player p = event.getPlayer();
            if (p.hasPermission("chat.admin")) {
                event.setFormat(ChatColor.DARK_RED + "[Admin]" + " " + ChatColor.DARK_RED + "%s" + ":" + " " + ChatColor.WHITE + "%s");
            } else if (p.hasPermission("chat.player")) {
                event.setFormat(ChatColor.GRAY + "%s" + ":" + " " + ChatColor.WHITE + "%s");
            } else {
                event.setFormat("%s: %s");
            }
          
        }
    
    
    }
    
    My plugin.yml:

    Code:
    name: Chat
    version: 1.0
    main: io.maneo.chat.Chat
    author: Maneo
    description: A Chat formatting plugin.
    
    permissions:
        chat.admin:
            description: Gives the Admin Chat Format to a player.
            default: op
        chat.player:
            description: Gives the Player Chat Format to a player.
            default: true
    
     
    Last edited: Nov 14, 2016
  2. Offline

    I Al Istannen

    @Maneo
    What is the error that pops up in the console?
     
  3. Offline

    Maneo

    Code:
    [16:38:39 ERROR]: Could not load 'plugins/Chat.jar' in folder 'plugins'
    
    org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
    
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:160) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:133) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.bukkit.craftbukkit.v1_10_R1.CraftServer.loadPlugins(CraftServer.java:295) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.bukkit.craftbukkit.v1_10_R1.CraftServer.reload(CraftServer.java:724) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.bukkit.Bukkit.reload(Bukkit.java:548) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.bukkit.craftbukkit.v1_10_R1.CraftServer.dispatchCommand(CraftServer.java:626) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.bukkit.craftbukkit.v1_10_R1.CraftServer.dispatchServerCommand(CraftServer.java:612) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at net.minecraft.server.v1_10_R1.DedicatedServer.aL(DedicatedServer.java:398) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:362) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:643) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:547) [craftbukkit.jar:git-Bukkit-75a8885]
    
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
    
    Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token
    
    found character    '\t(TAB)' that cannot start any token. (Do not use \t(TAB) for indentation)
    
     in 'reader', line 9, column 5:
    
                description: Gives the Player C ... 
    
            ^
    
    
        at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:420) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:226) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(ParserImpl.java:586) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:143) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:132) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:229) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:155) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:229) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:155) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:120) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.yaml.snakeyaml.Yaml.load(Yaml.java:381) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:232) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:155) ~[craftbukkit.jar:git-Bukkit-75a8885]
    
        ... 13 more
    
    
     
  4. Offline

    A5H73Y

    The answer is right infront of you, you used TAB in your plugin.yml, use 4 spaces instead.

    Code:
    Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token
    
    found character '\t(TAB)' that cannot start any token. (Do not use \t(TAB) for indentation)
    
    in 'reader', line 9, column 5:
    
    description: Gives the Player C ...
    
    ^
    
     
Thread Status:
Not open for further replies.

Share This Page