Command returning usage and events not being registered

Discussion in 'Plugin Development' started by AndersonEpic, Jul 20, 2014.

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

    AndersonEpic

    I've been trying to make a hub plugin recently for my server. Before the commands and events were working perfectly and now, they aren't. I made sure every command returned true and the problem still happened. After that when I reloaded me server some of the events just stopped working. The only noticeable event that still works is my scoreboard. I think the problem is with my plugin.yml. I don't know what to do any more.


    (I only left a couple of the commands adn only the alert command works)
    plugin.yml
    Code:
    name: VMC_CORE
    main: me.anderson.mcts.MainClass
    version: 1.0
     
    commands:
        alert:
            usage: /<command>
            description: Broadcast an alert.
        buy:
            usage: /<command>
            description: Gives buycraft link.
        craft:
            usage: /<command>
            description: Portable crafting table.    
    Buy class:
    Code:java
    1. package me.anderson.mcts.Commands;
    2.  
    3. import me.anderson.mcts.MainClass;
    4.  
    5. import org.bukkit.command.Command;
    6. import org.bukkit.command.CommandExecutor;
    7. import org.bukkit.command.CommandSender;
    8.  
    9. public class Buy implements CommandExecutor {
    10.  
    11. MainClass plugin;
    12.  
    13. public Buy(MainClass plugin) {
    14. this.plugin = plugin;
    15. }
    16.  
    17. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    18. if(cmd.getName().equalsIgnoreCase("buy")) {
    19. if(args.length == 0)
    20. sender.sendMessage("Store: Coming Soon!");
    21. }
    22. return true;
    23. }
    24. }


    And event that isn't working:
    Code:java
    1. package me.anderson.mcts.Commands;
    2.  
    3. import me.anderson.mcts.PermissionsHandler.Permissions;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.event.EventHandler;
    8. import org.bukkit.event.Listener;
    9. import org.bukkit.event.player.PlayerJoinEvent;
    10.  
    11. public class JoinMessage implements Listener {
    12.  
    13. @EventHandler
    14. public void on(PlayerJoinEvent e) {
    15. Player p = e.getPlayer();
    16.  
    17. e.setJoinMessage(null);
    18.  
    19. if(p.hasPermission(new Permissions().JoinMessage) || p.isOp() == true) {
    20.  
    21. Bukkit.broadcastMessage("§f"+p.getDisplayName() + " §f§has joined §b§lVirtual-MC!");
    22. }
    23. }
    24. }
    25.  
     
  2. Offline

    Dragonphase

  3. Offline

    Giraffeknee

    Did you set the executor for the command and register the events in onEnable()? AndersonEpic
     
  4. Offline

    AndersonEpic

    Yes, my main class

    Code:java
    1. package me.anderson.mcts;
    2.  
    3. import me.anderson.mcts.Commands.Buy;
    4. import me.anderson.mcts.Commands.Fly;
    5. import me.anderson.mcts.Commands.Help;
    6. import me.anderson.mcts.Commands.JoinMessage;
    7. import me.anderson.mcts.Hub.BottleVanish;
    8. import me.anderson.mcts.Hub.JoinItems;
    9. import me.anderson.mcts.Hub.Gizmos.GizmoListener;
    10. import me.anderson.mcts.Hub.Gizmos.GizmosClicks;
    11. import me.anderson.mcts.Punishment.Mute;
    12. import me.anderson.mcts.Punishment.Punishment;
    13. import me.anderson.mcts.StaffCommands.Alert;
    14. import me.anderson.mcts.StaffCommands.Craft;
    15. import me.anderson.mcts.StaffCommands.Deop;
    16. import me.anderson.mcts.StaffCommands.Heal;
    17. import me.anderson.mcts.StaffCommands.IP;
    18. import me.anderson.mcts.StaffCommands.StoreMsg;
    19. import me.anderson.mcts.StaffCommands.UnMute;
    20. import me.anderson.mcts.Tags.ChatFormat;
    21.  
    22. import org.bukkit.Bukkit;
    23. import org.bukkit.entity.Player;
    24. import org.bukkit.event.EventHandler;
    25. import org.bukkit.event.Listener;
    26. import org.bukkit.event.player.PlayerJoinEvent;
    27. import org.bukkit.plugin.Plugin;
    28. import org.bukkit.plugin.PluginManager;
    29. import org.bukkit.plugin.java.JavaPlugin;
    30. import org.bukkit.scoreboard.DisplaySlot;
    31. import org.bukkit.scoreboard.Objective;
    32. import org.bukkit.scoreboard.Score;
    33. import org.bukkit.scoreboard.Scoreboard;
    34. import org.bukkit.scoreboard.ScoreboardManager;
    35.  
    36. public class MainClass extends JavaPlugin implements Listener {
    37.  
    38. public static Plugin instance;
    39.  
    40. Scoreboard board;
    41.  
    42. @Override
    43. public void onEnable() {
    44. instance = this;
    45.  
    46. this.getServer().getConsoleSender().sendMessage("§a§lVIRTUAL-MC CORE");
    47. this.getServer().getConsoleSender().sendMessage("§a§lCREATED BY: ANDERSON");
    48.  
    49. PluginManager pm = this.getServer().getPluginManager();
    50.  
    51. pm.registerEvents(new Mute(this), (this));
    52. pm.registerEvents(new ChatFormat(), (this));
    53. pm.registerEvents(new GizmosClicks(), (this));
    54. pm.registerEvents(new GizmoListener(), (this));
    55. pm.registerEvents(new JoinItems(), (this));
    56. pm.registerEvents(new JoinMessage(), (this));
    57. pm.registerEvents(new BottleVanish(), (this));
    58. pm.registerEvents((this), (this));
    59.  
    60.  
    61. this.getCommand("alert").setExecutor(new Alert(this));
    62. this.getCommand("ban").setExecutor(new Punishment(this));
    63. this.getCommand("buy").setExecutor(new Buy(this));
    64. this.getCommand("craft").setExecutor(new Craft(this));
    65. this.getCommand("kick").setExecutor(new Punishment(this));
    66. this.getCommand("deop").setExecutor(new Deop(this));
    67. this.getCommand("fly").setExecutor(new Fly(this));
    68. this.getCommand("heal").setExecutor(new Heal(this));
    69. this.getCommand("help").setExecutor(new Help(this));
    70. this.getCommand("iplookup").setExecutor(new IP(this));
    71. this.getCommand("mute").setExecutor(new Mute(this));
    72. this.getCommand("storemsg").setExecutor(new StoreMsg(this));
    73. this.getCommand("unmute").setExecutor(new UnMute(this));
    74.  
    75.  
    76. }
    77. @EventHandler
    78. public void onJoin(PlayerJoinEvent e) {
    79. ScoreboardManager manager = Bukkit.getScoreboardManager();
    80. org.bukkit.scoreboard.Scoreboard board = manager.getNewScoreboard();
    81.  
    82. Objective objective = board.registerNewObjective("LobbyBoard", "dummy");
    83. objective.setDisplayName(" §b§lVirtual-MC ");
    84. objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    85.  
    86.  
    87. Score space1 = objective.getScore(Bukkit.getOfflinePlayer(" "));
    88. space1.setScore(-1);
    89.  
    90. Score online = objective.getScore(Bukkit.getOfflinePlayer("§a§lOnline"));
    91. online.setScore(-2);
    92.  
    93. Score NA = objective.getScore(Bukkit.getOfflinePlayer("N/A"));
    94. NA.setScore(-3);
    95.  
    96. Score space2 = objective.getScore(Bukkit.getOfflinePlayer(" "));
    97. space2.setScore(-4);
    98.  
    99. Score rank = objective.getScore(Bukkit.getOfflinePlayer("§6§lRank"));
    100. rank.setScore(-5);
    101.  
    102. Score rank2= objective.getScore(Bukkit.getOfflinePlayer("Player"));
    103. rank2.setScore(-6);
    104.  
    105. Score space4 = objective.getScore(Bukkit.getOfflinePlayer(" "));
    106. space4.setScore(-7);
    107.  
    108. Score VirtCoins = objective.getScore(Bukkit.getOfflinePlayer("§b§lVirtCoins"));
    109. VirtCoins.setScore(-8);
    110.  
    111. Score space5 = objective.getScore(Bukkit.getOfflinePlayer("0"));
    112. space5.setScore(-9);
    113.  
    114. for(Player pl : Bukkit.getOnlinePlayers()) {
    115. pl.setScoreboard(board);
    116. }
    117. }
    118.  
    119.  
    120.  
    121. @Override
    122. public void onDisable() {
    123.  
    124. }
    125.  
    126. public static Plugin getInstance() {
    127. return instance;
    128. }
    129. }


    Yes, my main again
    Code:java
    1. package me.anderson.mcts;
    2.  
    3. import me.anderson.mcts.Commands.Buy;
    4. import me.anderson.mcts.Commands.Fly;
    5. import me.anderson.mcts.Commands.Help;
    6. import me.anderson.mcts.Commands.JoinMessage;
    7. import me.anderson.mcts.Hub.BottleVanish;
    8. import me.anderson.mcts.Hub.JoinItems;
    9. import me.anderson.mcts.Hub.Gizmos.GizmoListener;
    10. import me.anderson.mcts.Hub.Gizmos.GizmosClicks;
    11. import me.anderson.mcts.Punishment.Mute;
    12. import me.anderson.mcts.Punishment.Punishment;
    13. import me.anderson.mcts.StaffCommands.Alert;
    14. import me.anderson.mcts.StaffCommands.Craft;
    15. import me.anderson.mcts.StaffCommands.Deop;
    16. import me.anderson.mcts.StaffCommands.Heal;
    17. import me.anderson.mcts.StaffCommands.IP;
    18. import me.anderson.mcts.StaffCommands.StoreMsg;
    19. import me.anderson.mcts.StaffCommands.UnMute;
    20. import me.anderson.mcts.Tags.ChatFormat;
    21.  
    22. import org.bukkit.Bukkit;
    23. import org.bukkit.entity.Player;
    24. import org.bukkit.event.EventHandler;
    25. import org.bukkit.event.Listener;
    26. import org.bukkit.event.player.PlayerJoinEvent;
    27. import org.bukkit.plugin.Plugin;
    28. import org.bukkit.plugin.PluginManager;
    29. import org.bukkit.plugin.java.JavaPlugin;
    30. import org.bukkit.scoreboard.DisplaySlot;
    31. import org.bukkit.scoreboard.Objective;
    32. import org.bukkit.scoreboard.Score;
    33. import org.bukkit.scoreboard.Scoreboard;
    34. import org.bukkit.scoreboard.ScoreboardManager;
    35.  
    36. public class MainClass extends JavaPlugin implements Listener {
    37.  
    38. public static Plugin instance;
    39.  
    40. Scoreboard board;
    41.  
    42. @Override
    43. public void onEnable() {
    44. instance = this;
    45.  
    46. this.getServer().getConsoleSender().sendMessage("§a§lVIRTUAL-MC CORE");
    47. this.getServer().getConsoleSender().sendMessage("§a§lCREATED BY: ANDERSON");
    48.  
    49. PluginManager pm = this.getServer().getPluginManager();
    50.  
    51. pm.registerEvents(new Mute(this), (this));
    52. pm.registerEvents(new ChatFormat(), (this));
    53. pm.registerEvents(new GizmosClicks(), (this));
    54. pm.registerEvents(new GizmoListener(), (this));
    55. pm.registerEvents(new JoinItems(), (this));
    56. pm.registerEvents(new JoinMessage(), (this));
    57. pm.registerEvents(new BottleVanish(), (this));
    58. pm.registerEvents((this), (this));
    59.  
    60.  
    61. this.getCommand("alert").setExecutor(new Alert(this));
    62. this.getCommand("ban").setExecutor(new Punishment(this));
    63. this.getCommand("buy").setExecutor(new Buy(this));
    64. this.getCommand("craft").setExecutor(new Craft(this));
    65. this.getCommand("kick").setExecutor(new Punishment(this));
    66. this.getCommand("deop").setExecutor(new Deop(this));
    67. this.getCommand("fly").setExecutor(new Fly(this));
    68. this.getCommand("heal").setExecutor(new Heal(this));
    69. this.getCommand("help").setExecutor(new Help(this));
    70. this.getCommand("iplookup").setExecutor(new IP(this));
    71. this.getCommand("mute").setExecutor(new Mute(this));
    72. this.getCommand("storemsg").setExecutor(new StoreMsg(this));
    73. this.getCommand("unmute").setExecutor(new UnMute(this));
    74.  
    75.  
    76. }
    77. @EventHandler
    78. public void onJoin(PlayerJoinEvent e) {
    79. ScoreboardManager manager = Bukkit.getScoreboardManager();
    80. org.bukkit.scoreboard.Scoreboard board = manager.getNewScoreboard();
    81.  
    82. Objective objective = board.registerNewObjective("LobbyBoard", "dummy");
    83. objective.setDisplayName(" §b§lVirtual-MC ");
    84. objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    85.  
    86.  
    87. Score space1 = objective.getScore(Bukkit.getOfflinePlayer(" "));
    88. space1.setScore(-1);
    89.  
    90. Score online = objective.getScore(Bukkit.getOfflinePlayer("§a§lOnline"));
    91. online.setScore(-2);
    92.  
    93. Score NA = objective.getScore(Bukkit.getOfflinePlayer("N/A"));
    94. NA.setScore(-3);
    95.  
    96. Score space2 = objective.getScore(Bukkit.getOfflinePlayer(" "));
    97. space2.setScore(-4);
    98.  
    99. Score rank = objective.getScore(Bukkit.getOfflinePlayer("§6§lRank"));
    100. rank.setScore(-5);
    101.  
    102. Score rank2= objective.getScore(Bukkit.getOfflinePlayer("§4§lPlayer"));
    103. rank2.setScore(-6);
    104.  
    105. Score space4 = objective.getScore(Bukkit.getOfflinePlayer(" "));
    106. space4.setScore(-7);
    107.  
    108. Score VirtCoins = objective.getScore(Bukkit.getOfflinePlayer("§b§lVirtCoins"));
    109. VirtCoins.setScore(-8);
    110.  
    111. Score space5 = objective.getScore(Bukkit.getOfflinePlayer("0"));
    112. space5.setScore(-9);
    113.  
    114. for(Player pl : Bukkit.getOnlinePlayers()) {
    115. pl.setScoreboard(board);
    116. }
    117. }
    118.  
    119.  
    120.  
    121. @Override
    122. public void onDisable() {
    123.  
    124. }
    125.  
    126. public static Plugin getInstance() {
    127. return instance;
    128. }
    129. }


    This is the most annoying thing I have to know deal with.

    Never mind fixed! I just wasn't op for the events, but the commands still don't work.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 9, 2016
  5. Offline

    Dragonphase

    AndersonEpic
    Well, I don't see anything wrong with your code. Maybe you could print out some debug messages in your command code and see if they print in the console.

    Also, I don't know if this affects anything, but try adding @Override on the line before your onCommand methods.
     
  6. Offline

    mine-care

    just a minor correction: p.isOp()==true
    You dont need the == true. if you put p.isOp() it will make the if work if it is true :p

    well, when the plugin yml is wrong, it throws a error in console. if there is one please tell me, else im re doing ur plugin.yml and command body (check brackets)

    PHP:
    // new plugin.yml
    nameVMC_CORE
    main
    me.anderson.mcts.MainClass
    version
    1.0
    commands

      
    alert:
          
    usage: /<command>
          
    descriptionBroadcast an alert.
      
    buy:
          
    usage: /<command>
          
    descriptionGives buycraft link.
      
    craft:
          
    usage: /<command>
          
    descriptionPortable crafting table.  
    and in your buy command its all ok as i see, But command buy is not registered in plugin.yml :p

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 9, 2016
Thread Status:
Not open for further replies.

Share This Page