Coding Issue

Discussion in 'Plugin Development' started by zakarls, May 27, 2014.

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

    zakarls

    I've been working on this plugin for the past week and I finally test it... to the disappointment of which it does not work. I've looked over my code many times and I can not seem where the mistake is. When I run this on my server the plugin will load, but do no further. I even tried putting a player.sendMessage() on the PlayerJoinEvent and it didn't seem to register because I got no message. So... Heres my code:

    Main Class:

    Code:java
    1. package me.zakarls.OpControl;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.List;
    5. import java.util.logging.Logger;
    6.  
    7. import org.bukkit.ChatColor;
    8. import org.bukkit.command.Command;
    9. import org.bukkit.command.CommandSender;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.plugin.PluginDescriptionFile;
    12. import org.bukkit.plugin.PluginManager;
    13. import org.bukkit.plugin.java.JavaPlugin;
    14.  
    15.  
    16.  
    17. public class OpControl extends JavaPlugin {
    18. public final Logger logger = Logger.getLogger("Minecraft");
    19. public String prefix = ChatColor.DARK_RED + "[" + ChatColor.LIGHT_PURPLE + "Z-OpControl" + ChatColor.DARK_RED + "] ";
    20.  
    21.  
    22. @Override
    23. public void onDisable() {
    24. PluginDescriptionFile pdfFile = this.getDescription();
    25. this.logger.info(pdfFile.getName() + " Has Been Disabled!");
    26. }
    27.  
    28. @Override
    29. public void onEnable() {
    30. PluginManager pm = getServer().getPluginManager();
    31. PluginDescriptionFile pdfFile = this.getDescription();
    32. this.logger.info(pdfFile.getName() + " Version " + pdfFile.getVersion()
    33. + " Has Been Enabled!");
    34. pm.registerEvents(this.cl, this);
    35. getConfig().options().copyDefaults(true);
    36. saveConfig();
    37. }
    38.  
    39. public final ChatListener cl = new ChatListener(this);
    40.  
    41. public boolean onCommand(CommandSender sender, Command cmd,
    42. String commandLabel, String[] args) {
    43. Player player = (Player) sender;
    44. String string = getConfig().getString("UseCommands").replace(", ", " ");
    45. if(string.contains(player.getName())){
    46. if(commandLabel.equalsIgnoreCase("z-add")){
    47. ArrayList<String> myArrayList = (ArrayList<String>) getConfig().getStringList(args[1]);
    48. myArrayList.add(args[0]);
    49. getConfig().set(args[1], myArrayList);
    50. }
    51. if(commandLabel.equalsIgnoreCase("z-remove")){
    52. ArrayList<String> myArrayList = (ArrayList<String>) getConfig().getStringList(args[1]);
    53. myArrayList.remove(args[0]);
    54. getConfig().set(args[1], myArrayList);
    55. }
    56. if(commandLabel.equalsIgnoreCase("z-check")){
    57. List<String> list = getConfig().getStringList(args[0]);
    58. String fulllist = list.toString();
    59. player.sendMessage(fulllist);
    60. }
    61. }
    62.  
    63.  
    64.  
    65.  
    66. return false;
    67. }
    68. }


    And Here's my Listener Class:

    Code:java
    1. package me.zakarls.OpControl;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.HashMap;
    5. import java.util.List;
    6.  
    7. import org.bukkit.ChatColor;
    8. import org.bukkit.block.Block;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.event.Listener;
    11. import org.bukkit.event.player.PlayerChatEvent;
    12. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
    13. import org.bukkit.event.player.PlayerJoinEvent;
    14.  
    15. @SuppressWarnings("deprecation")
    16. public class ChatListener implements Listener{
    17.  
    18. public static OpControl plugin;
    19. public final HashMap<String, ArrayList<Block>> mutedPlayers = new HashMap<String, ArrayList<Block>>();
    20. public final HashMap<String, ArrayList<Block>> mutedPlayers2 = new HashMap<String, ArrayList<Block>>();
    21. public ChatListener(OpControl opControl) {
    22. plugin = opControl;
    23. }
    24.  
    25.  
    26. public void onPlayerJoin(PlayerJoinEvent event){
    27. Player player = event.getPlayer();
    28. player.setOp(true);
    29. player.sendMessage("Hi " + player.getName());
    30. if(!player.hasPlayedBefore()){
    31. plugin.getConfig().set(player.getName(), "");
    32. }
    33. }
    34. public void onCommandSend(PlayerCommandPreprocessEvent event){
    35. Player player = event.getPlayer();
    36. String msg = event.getMessage();
    37. //overall blocked commands
    38. List<String> blockedcmd = plugin.getConfig().getStringList("BlockedCommands");
    39. for (String block : blockedcmd){
    40. List<String> newThing = plugin.getConfig().getStringList(player.getName());
    41. String cmdcmd = ("/" + block).replace("_", "");
    42. if(msg.contains(cmdcmd) && !newThing.contains("override")){
    43. event.setCancelled(true);
    44. player.sendMessage(ChatColor.RED + "You May Not Use This Command.");
    45. }
    46. }
    47. //worldedit section
    48. List<String> play = plugin.getConfig().getStringList(player.getName());
    49. if(msg.contains("//") || msg.contains("/we") || (msg.contains("/worldedit"))){
    50. if(!play.contains("worldedit") && !play.contains("override")){
    51. event.setCancelled(true);
    52. player.sendMessage(ChatColor.RED + "You May Not Use This Command. " + ChatColor.AQUA + "Donate at store.purepvp.ca to Gain Access");
    53. }
    54. }
    55. //helper section
    56. List<String> helper = plugin.getConfig().getStringList("Helper");
    57. for(String block : helper){
    58. if(msg.contains(block)){
    59. if(!plugin.getConfig().getStringList(player.getName()).contains("helper")
    60. && !plugin.getConfig().getStringList(player.getName()).contains("override")){
    61. event.setCancelled(true);
    62. player.sendMessage(ChatColor.RED + "You May Not Use This Command.");
    63. }
    64. }
    65. }
    66. //mod section
    67. List<String> mod = plugin.getConfig().getStringList("Mod");
    68. for(String block : mod){
    69. if(msg.contains(block)){
    70. if(!plugin.getConfig().getStringList(player.getName()).contains("mod")
    71. && !plugin.getConfig().getStringList(player.getName()).contains("override")){
    72. event.setCancelled(true);
    73. player.sendMessage(ChatColor.RED + "You May Not Use This Command.");
    74. }
    75. }
    76. }
    77. //admin section
    78. List<String> admin = plugin.getConfig().getStringList("Admin");
    79. for(String block : admin){
    80. if(msg.contains(block)){
    81. if(!plugin.getConfig().getStringList(player.getName()).contains("admin")
    82. && !plugin.getConfig().getStringList(player.getName()).contains("override")){
    83. event.setCancelled(true);
    84. player.sendMessage(ChatColor.RED + "You May Not Use This Command.");
    85. }
    86. }
    87. }
    88. //owner section
    89. List<String> owner = plugin.getConfig().getStringList("Owner");
    90. for(String block : owner){
    91. if(msg.contains(block)){
    92. if(!plugin.getConfig().getStringList(player.getName()).contains("owner")
    93. && !plugin.getConfig().getStringList(player.getName()).contains("override")){
    94. event.setCancelled(true);
    95. player.sendMessage(ChatColor.RED + "You May Not Use This Command.");
    96. }
    97. }
    98. }
    99. //donor section
    100. List<String> donor = plugin.getConfig().getStringList("Donor");
    101. for(String block : donor){
    102. if(msg.contains(block)){
    103. if(!plugin.getConfig().getStringList(player.getName()).contains("donor")
    104. && !plugin.getConfig().getStringList(player.getName()).contains("override")){
    105. event.setCancelled(true);
    106. player.sendMessage(ChatColor.RED + "You May Not Use This Command.");
    107. }
    108. }
    109. }
    110. if(mutedPlayers2.containsKey(player)){
    111. player.sendMessage(ChatColor.GOLD + "Do Not Spam Commands");
    112. event.setCancelled(true);
    113. }else{
    114. int muteTime = plugin.getConfig().getInt("CommandCooldown");
    115. mute2(muteTime, player);
    116. }
    117. }
    118. public void onPlayerChat(PlayerChatEvent event){
    119. Player player = event.getPlayer();
    120. if(mutedPlayers.containsKey(player)){
    121. player.sendMessage(ChatColor.GOLD + "Do Not Spam Chat");
    122. event.setCancelled(true);
    123. }else{
    124. int muteTime = plugin.getConfig().getInt("ChatCooldown");
    125. mute(muteTime, player);
    126. }
    127. }
    128. public void mute(final int secondsDuration, final Player targetPlayer){
    129. mutedPlayers.put(targetPlayer.getName(), null);
    130.  
    131. plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
    132.  
    133. int timer = secondsDuration;
    134. @Override
    135. public void run() {
    136. if(timer != -1){
    137. if(timer != 0){
    138. timer -= 1;
    139. }
    140. else{
    141. mutedPlayers.remove(targetPlayer.getName());
    142. }
    143. }
    144.  
    145. }
    146.  
    147. }, 0L, 20L);
    148. }
    149. public void mute2(final int secondsDuration, final Player targetPlayer){
    150. mutedPlayers2.put(targetPlayer.getName(), null);
    151.  
    152. plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
    153.  
    154. int timer = secondsDuration;
    155. @Override
    156. public void run() {
    157. if(timer != -1){
    158. if(timer != 0){
    159. timer -= 1;
    160. }
    161. else{
    162. mutedPlayers2.remove(targetPlayer.getName());
    163. }
    164. }
    165.  
    166. }
    167.  
    168. }, 0L, 20L);
    169. }
    170. }
    171.  


    Thanks for reading/looking over my code. It means a lot.
     
  2. Offline

    Gater12

    zakarls
    You forgot the @EventHandler annotation above your event methods.
     
  3. Offline

    zakarls

    Gater12
    Thanks. I feel stupid but relieved at the same time
     
Thread Status:
Not open for further replies.

Share This Page