Need help making Chat replacement plugin for my server

Discussion in 'Plugin Development' started by JOPHESTUS, May 6, 2012.

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

    JOPHESTUS

    Hey,

    I am a real n00b at plugin making. I thougt I'd make a chat replacement plugin. It's meant to replace things like 'i' with 'I' etc. but is not working.
    Here are my java files.
    Show Spoiler

    Main java:
    Code:
    package me.jophestus.JOPHChat;
     
    import java.util.logging.Logger;
     
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class JOPHChat extends JavaPlugin {
        PluginDescriptionFile pdfFile;
       
        public static JOPHChat plugin;
        public final Logger log = Logger.getLogger("Minecraft");
        public final JOPHChatListener Listener = new JOPHChatListener(this);
       
        @Override
        public void onDisable() {
           
            pdfFile = this.getDescription();
            this.log.info(pdfFile.getName()+ " is now disabled.");
        }
       
        public boolean onCommand(CommandSender sender, Command command,
                String label, String[] args) {   
            // TODO Auto-generated method stub
     
            if (command.getName().equalsIgnoreCase("JOPHChat")) {
                sender.sendMessage(ChatColor.DARK_GREEN
                        + "+------------------------------+");
                sender.sendMessage(ChatColor.DARK_AQUA + "JOPHChat: Chat enhancer.");
                sender.sendMessage(ChatColor.GREEN + "By JOPHESTUS");
                sender.sendMessage(ChatColor.YELLOW + "Version:" + " 1.0" );
                sender.sendMessage(ChatColor.DARK_GREEN
                        + "+------------------------------+");
            }
            return super.onCommand(sender, command, label, args);
        }
       
       
       
        @Override
        public void onEnable() {
          // TODO Auto-generated method stub
          pdfFile = this.getDescription();
          PluginManager pm = getServer().getPluginManager();
          pm.registerEvents(this.Listener, this);
          this.log.info(pdfFile.getName() + " is now enabled!.");
        }
       
       
            }
       
    
    Chat listener:
    Code:
    package me.jophestus.JOPHChat;
     
    import me.jophestus.JOPHChat.JOPHChat;
     
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerChatEvent;
     
     
     
    public class JOPHChatListener
    implements Listener
    {
    public static JOPHChat plugin;
     
    public JOPHChatListener(JOPHChat instance)
    {
      plugin = instance;
    }
     
     
      @EventHandler
      public void Chat(PlayerChatEvent event){
       
        event.getMessage().replace("i", "I");
        event.getMessage().replace("ive", "I've");
        event.getMessage().replace("u", "you");
        event.getMessage().replace("ur", "your");
        event.getMessage().replace("****", "*Very bad word*");
        event.getMessage().replace("dont", "don't");
        event.getMessage().replace("cant", "can't");
        event.getMessage().replace("its", "it's");
        event.getMessage().replace("plz", "please");
        event.getMessage().replace("im", "I'm");
        event.getMessage().replace("wasnt", "wansn't");
        event.getMessage().replace("doesnt", "doesn't");
        event.getMessage().replace("fuck you", "damn you");
       
       
       
       
       
     
    }
      }
    
     
  2. Offline

    Njol

    You have to set the message back to the event, e.g.:
    Code:
    event.setMessage(event.getMessage().replace("i", "I"));
    It might be easier to use a local variable instead:
    Code:
    String message = event.getMessage();
     
    message = event.getMessage().replace("i", "I");
    message = event.getMessage().replace("ive", "I've");
    // other replaces
     
    event.setMessage(message);
     
  3. Offline

    JOPHESTUS

    I shall try this later. Thanks for the reply.

    EDIT: I it does not work ;(, could it be that the listener is not loading?
     
  4. Offline

    Njol

    I made a silly mistake, copy-pasted too much:
    Code:
    String message = event.getMessage();
     
    message = message.replace("i", "I");
    message = message.replace("ive", "I've");
    // other replaces
     
    event.setMessage(message);
     
  5. There's a couple of problems with this though..
    "Skill" will become "SkIll" and "Behive" will become "BehI've"
    You probally have to do some regex or something, not sure..
     
  6. Offline

    JOPHESTUS

    Please could you help me with this?
     
Thread Status:
Not open for further replies.

Share This Page