package dk.thoerup.bukkit.hoeruputils; import org.bukkit.plugin.Plugin; import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.entity.Player; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import java.io.IOException; import java.io.File; import java.io.RandomAccessFile; public class MotdHandler implements Listener, CommandExecutor { Plugin plugin; public MotdHandler(Plugin plugin) { this.plugin = plugin; } private void readMotdFile(CommandSender player) { File motd = new File(plugin.getDataFolder(), "motd.txt"); if (motd.exists()) { try { RandomAccessFile raf = new RandomAccessFile(motd,"r"); String line; while ( (line=raf.readLine()) != null) { line = line.trim(); if (line.startsWith("#")) { continue; } if (line.length() > 0) { player.sendMessage( line ); } } raf.close(); } catch (IOException e) { plugin.getLogger().severe("Could not read motd.txt:" + e.getMessage() ); } } } @Override public boolean onCommand(final CommandSender sender, Command command, String label, String[] args) { readMotdFile(sender); return true; } @EventHandler public void onPlayerLogin(PlayerJoinEvent event) { readMotdFile( event.getPlayer() ); ////////////////////////////////////////////////////// Player players[] = plugin.getServer().getOnlinePlayers(); StringBuilder sb = new StringBuilder(); for (Player player : players) { sb.append(", "); sb.append( player.getName() ); } String playerlist = ChatColor.YELLOW + "Online players: " + sb.substring(2); event.getPlayer().sendMessage( playerlist ); } }