/[projects]/miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/MotdHandler.java
ViewVC logotype

Annotation of /miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/MotdHandler.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1850 - (hide annotations) (download)
Sun Sep 23 12:30:09 2012 UTC (11 years, 8 months ago) by torben
File size: 2025 byte(s)
handle colors in MOTD
1 torben 1847 package dk.thoerup.bukkit.hoeruputils;
2    
3    
4     import org.bukkit.plugin.Plugin;
5    
6     import org.bukkit.event.player.PlayerLoginEvent;
7     import org.bukkit.event.player.PlayerJoinEvent;
8     import org.bukkit.event.EventHandler;
9     import org.bukkit.event.Listener;
10     import org.bukkit.entity.Player;
11    
12     import org.bukkit.ChatColor;
13    
14    
15     import org.bukkit.command.Command;
16     import org.bukkit.command.CommandExecutor;
17     import org.bukkit.command.CommandSender;
18    
19    
20     import java.io.IOException;
21     import java.io.File;
22    
23 torben 1850 import java.io.*;
24 torben 1847
25     public class MotdHandler implements Listener, CommandExecutor {
26    
27     Plugin plugin;
28    
29     public MotdHandler(Plugin plugin) {
30     this.plugin = plugin;
31     }
32    
33 torben 1850 private String colors(String str) {
34     return ChatColor.translateAlternateColorCodes('&', str );
35     }
36    
37 torben 1847 private void readMotdFile(CommandSender player) {
38     File motd = new File(plugin.getDataFolder(), "motd.txt");
39     if (motd.exists()) {
40     try {
41 torben 1850 BufferedReader in = new BufferedReader( new InputStreamReader( new FileInputStream( motd) ) );
42 torben 1847 String line;
43 torben 1850 while ( (line=in.readLine()) != null) {
44 torben 1847 line = line.trim();
45     if (line.startsWith("#")) {
46     continue;
47     }
48     if (line.length() > 0) {
49 torben 1850 line = colors(line);
50 torben 1847 player.sendMessage( line );
51     }
52     }
53 torben 1850 in.close();
54 torben 1847 } catch (IOException e) {
55     plugin.getLogger().severe("Could not read motd.txt:" + e.getMessage() );
56     }
57    
58     }
59     }
60    
61     @Override
62     public boolean onCommand(final CommandSender sender, Command command, String label, String[] args) {
63     readMotdFile(sender);
64     return true;
65     }
66    
67    
68     @EventHandler
69     public void onPlayerLogin(PlayerJoinEvent event) {
70     readMotdFile( event.getPlayer() );
71     //////////////////////////////////////////////////////
72    
73    
74     Player players[] = plugin.getServer().getOnlinePlayers();
75    
76     StringBuilder sb = new StringBuilder();
77     for (Player player : players) {
78     sb.append(", ");
79     sb.append( player.getName() );
80     }
81     String playerlist = ChatColor.YELLOW + "Online players: " + sb.substring(2);
82     event.getPlayer().sendMessage( playerlist );
83    
84     }
85    
86     }

  ViewVC Help
Powered by ViewVC 1.1.20