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

Contents 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 - (show annotations) (download)
Sun Sep 23 12:30:09 2012 UTC (11 years, 7 months ago) by torben
File size: 2025 byte(s)
handle colors in MOTD
1 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 import java.io.*;
24
25 public class MotdHandler implements Listener, CommandExecutor {
26
27 Plugin plugin;
28
29 public MotdHandler(Plugin plugin) {
30 this.plugin = plugin;
31 }
32
33 private String colors(String str) {
34 return ChatColor.translateAlternateColorCodes('&', str );
35 }
36
37 private void readMotdFile(CommandSender player) {
38 File motd = new File(plugin.getDataFolder(), "motd.txt");
39 if (motd.exists()) {
40 try {
41 BufferedReader in = new BufferedReader( new InputStreamReader( new FileInputStream( motd) ) );
42 String line;
43 while ( (line=in.readLine()) != null) {
44 line = line.trim();
45 if (line.startsWith("#")) {
46 continue;
47 }
48 if (line.length() > 0) {
49 line = colors(line);
50 player.sendMessage( line );
51 }
52 }
53 in.close();
54 } 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