[Solved] Send message to all users

Discussion in 'Plugin Development' started by drampelt, Jul 31, 2011.

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

    drampelt

    I am new to plugin development and was wondering how to send a global message, like to all players online. I also would like to know how to add color(s) to the message. Thanks in advance
     
  2. Offline

    McDjuady

  3. Offline

    wwsean08

    Server server = Bukkit.getServer();
    server.broadcastMessage("blah");
     
  4. Offline

    drampelt

    Using
    Code:
    Server.broadcastMessage("$4Message");
    just shows $4Message in chat, not the color.

    Another question, I am making a chat bot so it responds to user messages. When I use Server.broadcastMessage() it shows up before what the user says. How would I make it show up after?
     
  5. Offline

    s1mpl3x

    use Server.broadcastMessage(ChatColor.Red + "message");

    didn't try but i guess put a new task up should show it up after the event:

    Code:
                                Server.getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable() {
    
                                    @Override
                                    public void run() {
                                        Server.broadcastMessage(ChatColor.Red + "message");
    
                                    }
                                });
     
  6. Offline

    Daniel Heppner

    You missed a ) on the first line.

    I'd suggest using Bukkit.getServer().broadcastMessage(ChatColor.RED + "This is red" + ChatColor.GREEN + "This is green, etc.");

    instead of creating a new instance of the server, to save on ram (especially if you're only going to need ONE instance of server)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 18, 2016
  7. Offline

    s1mpl3x

    hm nope there is nothing missing and he doesnt create a new instance of server... he just creates a pointer to the server object
     
  8. Offline

    Daniel Heppner

    You're right. I shouldn't be doing this when I'm tired. xD
     
  9. Offline

    drampelt

    Sorry, I am still confused. Could you please show me how to implement a delayed colored broadcast where it shows in the code? I am fairly new to java as well. This is my player listener class.

    Code:
    
    package me.drampelt.daisy.listeners;
    
    
    import java.awt.Color;
    
    import org.bukkit.Bukkit;
    import org.bukkit.Server;
    import org.bukkit.entity.Player;
    import org.bukkit.event.player.PlayerListener;
    
    import org.bukkit.event.player.PlayerChatEvent;
    
    import me.drampelt.daisy.Daisy;
    
    
    public class Listener_Player extends PlayerListener {
    	private Daisy plugin;
    	Server server = Bukkit.getServer();
    	public Listener_Player(Daisy plugin){
    		this.plugin = plugin;
    	}
    
    	@Override
    	public void onPlayerChat(PlayerChatEvent event){
    		String msg = event.getMessage();
    		Player p = event.getPlayer();
    		if(msg.equalsIgnoreCase("hello")){
    			//say colored message here but delayed
    		} else {
    			server.broadcastMessage("blah");
    		}
    	}
    
    
    }
    
     
  10. Offline

    s1mpl3x

    Code:
    
    package me.drampelt.daisy.listeners;
    
    
    import java.awt.Color;
    
    import org.bukkit.Bukkit;
    import org.bukkit.Server;
    import org.bukkit.entity.Player;
    import org.bukkit.event.player.PlayerListener;
    
    import org.bukkit.event.player.PlayerChatEvent;
    
    import me.drampelt.daisy.Daisy;
    
    
    public class Listener_Player extends PlayerListener {
    	private Daisy plugin;
    	Server server = Bukkit.getServer();
    	public Listener_Player(Daisy plugin){
    		this.plugin = plugin;
    	}
    
    	@Override
    	public void onPlayerChat(PlayerChatEvent event){
    		String msg = event.getMessage();
    		Player p = event.getPlayer();
    		if(msg.equalsIgnoreCase("hello")){
                                plugin.getServer().getScheduler().scheduleAsyncDelayedTask(plugin, new Runnable() {
    @Override
     public void run() {
    plugin.getServer().broadcastMessage(ChatColor.Red + "message");                                  }                             });
    		} else {
    			server.broadcastMessage("blah");
    		}
    	}
    
    
    }
    
     
  11. Offline

    drampelt

    Thanks :D
     
Thread Status:
Not open for further replies.

Share This Page