Skip to content

Instantly share code, notes, and snippets.

@heinrichquirit
Created September 14, 2013 11:55
Show Gist options
  • Save heinrichquirit/6561424 to your computer and use it in GitHub Desktop.
Save heinrichquirit/6561424 to your computer and use it in GitHub Desktop.
package net.bigbadcraft.bukkit;
import java.io.File;
import java.io.IOException;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin implements Listener {
private File file;
protected String firstJoinMsg;
protected String returnMsg;
protected String leaveMsg;
public void onEnable() {
createFiles();
getServer().getPluginManager().registerEvents(this, this);
}
public void onDisable() {
saveConfig();
}
private void createFiles() {
saveDefaultConfig();
this.file = new File(this.getDataFolder(), "config.yml");
if (!file.exists()) {
try {
getLogger().warning("Configuration file doesn't exist, creating..");
file.createNewFile();
getLogger().info("Configuration file created.");
} catch (IOException ex) {
getLogger().severe("Could not create configuration file.");
ex.printStackTrace();
}
}
firstJoinMsg = getConfig().getString("onFirstJoin");
returnMsg = getConfig().getString("onReturn");
leaveMsg = getConfig().getString("onLeave");
}
private void replaceVariables(PlayerJoinEvent event) {
firstJoinMsg = firstJoinMsg.replace("%player%", event.getPlayer().getName());
returnMsg = returnMsg.replace("%player%", event.getPlayer().getName());
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
replaceVariables(event);
if (!event.getPlayer().hasPlayedBefore()) {
event.setJoinMessage(firstJoinMsg);
} else {
event.setJoinMessage(returnMsg);
}
}
@EventHandler
public void onPlayerLeave(PlayerQuitEvent event) {
event.setQuitMessage(leaveMsg.replace("%player%", event.getPlayer().getName()));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment