I have a prettu n00b question, how can I disable the default login message so I can use the one i created? Main class: Code: package me.pazflor.loginbeskjed; import java.util.logging.Logger; import org.bukkit.event.Event; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; public class LBmain extends JavaPlugin { Logger log = Logger.getLogger("Minecraft"); private LBPlayerListener pListener = new LBPlayerListener(this); public void onEnable() { PluginManager pm = this.getServer().getPluginManager(); pm.registerEvent(Event.Type.PLAYER_LOGIN, this.pListener, Event.Priority.Normal, this); pm.registerEvent(Event.Type.PLAYER_QUIT, this.pListener, Event.Priority.Normal, this); this.logMessage(" has been enabled."); } public void onDisable() { this.logMessage(" has been disabled."); } protected void logMessage(String msg) { PluginDescriptionFile pdfFile = this.getDescription(); String log = pdfFile.getName() + " version " + pdfFile.getVersion() + msg; this.log.info(log); } } PlayerListener: Code: package me.pazflor.loginbeskjed; import org.bukkit.ChatColor; import org.bukkit.Server; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerListener; import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerQuitEvent; public class LBPlayerListener extends PlayerListener { public LBPlayerListener(LBmain lBmain) { } public void onPlayerLogin(PlayerLoginEvent event) { Player player = event.getPlayer(); Server server = player.getServer(); String playername = player.getName(); server.broadcastMessage(ChatColor.AQUA + playername + " logget på."); } public void onPlayerQuit(PlayerQuitEvent event) { Player player = event.getPlayer(); Server server = player.getServer(); String playername = player.getName(); server.broadcastMessage(ChatColor.AQUA + playername + " logget av"); } }
use onPlayerJoin, and then use: Code:java event.setJoinMessage("text"); And for onPlayerQuit, use: Code:java event.setQuitMessage("text");
So, now my PlayerListener looks like this: Code: package me.pazflor.loginbeskjed; import org.bukkit.ChatColor; import org.bukkit.Server; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerListener; import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerQuitEvent; public class LBPlayerListener extends PlayerListener { public LBPlayerListener(LBmain lBmain) { } public void onPlayerLogin(PlayerLoginEvent event) { Player player = event.getPlayer(); Server server = player.getServer(); String playername = player.getName(); server.broadcastMessage(ChatColor.AQUA + playername + " logget på."); } public void onPlayerJoin(PlayerJoinEvent event) { Player player = event.getPlayer(); String playername = player.getName(); event.setJoinMessage(ChatColor.AQUA + playername + " logget på."); } public void onPlayerQuit1(PlayerQuitEvent event) { Player player = event.getPlayer(); String playername = player.getName(); event.setQuitMessage(ChatColor.AQUA + playername + " logget av."); } } But when I log on the server, it still says "Pazflor has joined the game." and not "Pazflor logget på.". How can I disable the default message?
You don't need the extra broadcasts, and you don't need onPlayerLogin either. You can do it like this: Code: @Override public void onPlayerJoin(PlayerJoinEvent event){ event.setJoinMessage(<message>); } @Override public void onPlayerQuit(PlayerQuitEvent event){ event.setQuitMessage(<message>); } @Override public void onPlayerKick(PlayerKickEvent event){ event.setLeaveMessage(<message>); } It simply changes the default messages to whatever you set in <message>.
Ahh, forgot to change the Event.Type.PLAYER_LOGIN to Event.Type.PLAYER_JOIN, and take away the broadcasts. Thanks for the help!