Plugin Help Plugin Error

Discussion in 'Plugin Help/Development/Requests' started by top2001, Nov 23, 2014.

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

    top2001

    Hello, I have recently been making a plugin for a server but I am having an error with this plugin. In the code below, the "Player player = (Player) p;" part is giving me an error at the p part. If you could help me fix this, it would be greatly appreicated :)

    The full code is:

    Code:java
    1. package me.top2001.OreCloudAntiSwear;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.Instrument;
    6. import org.bukkit.Location;
    7. import org.bukkit.Note;
    8. import org.bukkit.entity.Player;
    9. import org.bukkit.event.EventHandler;
    10. import org.bukkit.event.Listener;
    11. import org.bukkit.event.player.AsyncPlayerChatEvent;
    12. import org.bukkit.plugin.java.JavaPlugin;
    13.  
    14. public class Main extends JavaPlugin implements Listener {
    15.  
    16. public void onEnable() {
    17. getLogger().info("Plugin Enabled!");
    18. getConfig().options().copyDefaults(true);
    19. saveConfig();
    20. Bukkit.getServer().getPluginManager().registerEvents(this, this);
    21. }
    22.  
    23. public void onDisable() {
    24. getLogger().info("Plugin Disabled");
    25. }
    26.  
    27. @EventHandler
    28. public void onPlayerChat(AsyncPlayerChatEvent event) {
    29. for(String word : event.getMessage().split(" ")){
    30. if(getConfig().getStringList("bannedwords").contains(word)){
    31. event.setCancelled(true);
    32. final String prefix = ChatColor.GREEN + "Ore" + ChatColor.GRAY + "Cloud" + ChatColor.DARK_GREEN + " > ";
    33. event.getPlayer().sendMessage(prefix + ChatColor.RED + "Message Cancelled! Please don't swear in the chat.");
    34. Player player = (Player) p;
    35. Location loc = player.getLocation();
    36. player.playNote(loc, Instrument.PIANO, new Note(1));
    37.  
    38. }
    39. }
    40. }
    41. }
    42.  
     
  2. Offline

    mrCookieSlime

    top2001
    You cant use Variables you havent defined. I think you wanted to use event.getPlayer() instead of p.
     
  3. Offline

    top2001


    Should this code work now?:

    Code:java
    1. package me.top2001.OreCloudAntiSwear;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.Instrument;
    6. import org.bukkit.Location;
    7. import org.bukkit.Note;
    8. import org.bukkit.entity.Player;
    9. import org.bukkit.event.EventHandler;
    10. import org.bukkit.event.Listener;
    11. import org.bukkit.event.player.AsyncPlayerChatEvent;
    12. import org.bukkit.plugin.java.JavaPlugin;
    13.  
    14. public class Main extends JavaPlugin implements Listener {
    15.  
    16. public void onEnable() {
    17. getLogger().info("Plugin Enabled!");
    18. getConfig().options().copyDefaults(true);
    19. saveConfig();
    20. Bukkit.getServer().getPluginManager().registerEvents(this, this);
    21. }
    22.  
    23. public void onDisable() {
    24. getLogger().info("Plugin Disabled");
    25. }
    26.  
    27. @EventHandler
    28. public void onPlayerChat(AsyncPlayerChatEvent event) {
    29. for(String word : event.getMessage().split(" ")){
    30. if(getConfig().getStringList("bannedwords").contains(word)){
    31. event.setCancelled(true);
    32. final String prefix = ChatColor.GREEN + "Ore" + ChatColor.GRAY + "Cloud" + ChatColor.DARK_GREEN + " > ";
    33. event.getPlayer().sendMessage(prefix + ChatColor.RED + "Message Cancelled! Please don't swear in the chat.");
    34. Player player = (Player) event.getPlayer();
    35. Location loc = player.getLocation();
    36. player.playNote(loc, Instrument.PIANO, new Note(1));
    37. }
    38. }
    39. }
    40. }
    41.  
     
  4. Offline

    mrCookieSlime

  5. Offline

    top2001


    Ok. Thanks for your brilliant support :)
     
Thread Status:
Not open for further replies.

Share This Page