Advertisement
Guest User

WelcomeMe.java

a guest
Mar 8th, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.73 KB | None | 0 0
  1. package dk.monkeyboy.WelcomeMe;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.FileNotFoundException;
  5. import java.io.FileReader;
  6. import java.io.IOException;
  7. import java.util.ArrayList;
  8. import java.util.logging.Logger;
  9. import java.lang.Object;
  10.  
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.command.ConsoleCommandSender;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.event.player.PlayerEvent;
  15. import org.bukkit.event.Event;
  16. import org.bukkit.event.player.PlayerJoinEvent;
  17. import org.bukkit.event.EventPriority;
  18. import org.bukkit.plugin.PluginDescriptionFile;
  19. import org.bukkit.plugin.PluginManager;
  20. import org.bukkit.plugin.java.JavaPlugin;
  21.  
  22. public class WelcomeMe extends JavaPlugin {
  23.     public ArrayList<String> UnformattedMessage = new ArrayList<String>();
  24.     Logger log = Logger.getLogger("Minecraft");
  25.    
  26.     public void onDisable() { };
  27.    
  28.     public void onEnable()
  29.     {
  30.         PluginDescriptionFile pdfFile = this.getDescription();
  31.         //System.out.println( pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!" );
  32.         log.info(pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!");
  33.        
  34.         PluginManager pm = getServer().getPluginManager();
  35.        
  36.         pm.registerEvent(Event.Type.PLAYER_JOIN, new WelcomeMePlayerListener(this), EventPriority.NORMAL, this);
  37.        
  38.         getCommand("wm").setExecutor(new ReloadPluginCommand(this));
  39.     }
  40.    
  41.     public void onLoad()
  42.     {
  43.         ReadMessageFromFile();
  44.     }
  45.    
  46.     // Credit to Bone008 @http://forums.bukkit.org/threads/parse-for-color-codes.25965/
  47.     public String Colorize(String s)
  48.     {
  49.         if(s == null) return null;
  50.         return s.replaceAll("&([0-9a-f])", "\u00A7$1");
  51.     }
  52.    
  53.     public void ReadMessageFromFile()
  54.     {
  55.         BufferedReader b = null;
  56.         String str = null;
  57.        
  58.         try {
  59.             b = new BufferedReader(new FileReader("plugins/WelcomeMe/message.txt"));
  60.             UnformattedMessage.clear();
  61.            
  62.             while((str = b.readLine()) != null)
  63.             {
  64.                 UnformattedMessage.add(Colorize(str));
  65.             }
  66.             b.close();
  67.         } catch (FileNotFoundException e) {
  68.             e.printStackTrace();
  69.         } catch (IOException e) {
  70.             e.printStackTrace();
  71.         }
  72.     }
  73.    
  74.     public void DisplayMessage(Player player)
  75.     {
  76.         String playersString = "";
  77.         String maxplayers = Integer.toString(getServer().getMaxPlayers());
  78.         String numplayers = Integer.toString(getServer().getOnlinePlayers().length);
  79.        
  80.         for(Player p : getServer().getOnlinePlayers())
  81.         {
  82.             if(playersString.length() < 1){
  83.                 playersString = p.getDisplayName();
  84.             } else {
  85.                 playersString = playersString + "," + p.getDisplayName();
  86.             }
  87.         }
  88.        
  89.         for(String s : UnformattedMessage)
  90.         {
  91.             s = s.replaceAll("%op", numplayers);
  92.             s = s.replaceAll("%mp", maxplayers);
  93.             s = s.replaceAll("%pl", playersString);
  94.             s = s.replaceAll("%np", player.getDisplayName());
  95.             player.sendMessage(s);
  96.         }
  97.     }
  98.    
  99.     public void DisplayMessage(CommandSender sender)
  100.     {
  101.         String playersString = "";
  102.         String maxplayers = Integer.toString(getServer().getMaxPlayers());
  103.         String numplayers = Integer.toString(getServer().getOnlinePlayers().length);
  104.         String np = "";
  105.        
  106.         if(sender instanceof Player){
  107.             Player player = (Player)sender;
  108.             np = player.getDisplayName();
  109.         } else if(sender instanceof ConsoleCommandSender){
  110.             np = "Console";
  111.         } else {
  112.             np = "Unknown";
  113.         }
  114.        
  115.         for(Player p : getServer().getOnlinePlayers())
  116.         {
  117.             if(playersString.length() < 1){
  118.                 playersString = p.getDisplayName();
  119.             } else {
  120.                 playersString = playersString + "," + p.getDisplayName();
  121.             }
  122.         }
  123.        
  124.         for(String s : UnformattedMessage)
  125.         {
  126.             s = s.replaceAll("%op", numplayers);
  127.             s = s.replaceAll("%mp", maxplayers);
  128.             s = s.replaceAll("%pl", playersString);
  129.             s = s.replaceAll("%np", np);
  130.             sender.sendMessage(s);
  131.         }
  132.     }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement