No message received in console, nothing unusual package me.tster.GiftRefer; import java.io.File; import java.util.ArrayList; import java.util.logging.Logger; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; 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.inventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; public class GiftRefer extends JavaPlugin implements Listener { private ArrayList<Object> list = new ArrayList<Object>(); private ArrayList<Object> playerslist = new ArrayList<Object>(); Logger log = Logger.getLogger("Minecraft"); public void onDisable() { log.info(this.getDescription().getName() + "has been disabled"); } @SuppressWarnings("unchecked") public void onEnable() { saveDefaultConfig(); log.info(this.getDescription().getName() + " has been enabled"); File f = new File("players.list"); if (f.exists() == false) { try { SLAPI.save(list, "players.list"); } catch (Exception e) { e.printStackTrace(); } } File p = new File("giftplayers.list"); if (p.exists() == false) { try { SLAPI.save(playerslist, "giftplayers.list"); } catch (Exception e) { e.printStackTrace(); } } try { list = (ArrayList<Object>)SLAPI.load("players.list"); playerslist = (ArrayList<Object>)SLAPI.load("giftplayers.list"); } catch (Exception e) { e.printStackTrace(); } } /** @EventHandler public void onPlayerJoin(PlayerJoinEvent event) throws Exception{ event.getPlayer().sendMessage(getConfig().getString("firstjoinmessage")); if (list.contains(event.getPlayer().getName())){ } else { event.getPlayer().sendMessage(getConfig().getString("firstjoinmessage")); } if (playerslist.contains(event.getPlayer().getName())){ event.getPlayer().sendMessage(getConfig().getString("referrergiftmessage")); playerslist.remove(event.getPlayer().getName()); SLAPI.save(playerslist, "giftplayers.list"); event.getPlayer().getInventory().addItem(new ItemStack(Material.getMaterial(getConfig().getInt("referreritemid")), getConfig().getInt("referreramount"))); } else { } } */ @EventHandler public void onPlayerJoinEvent(PlayerJoinEvent event) { log.info("rar"); } @EventHandler public void onPlayerQuit(PlayerQuitEvent event) throws Exception{ if (list.contains(event.getPlayer().getName())){ } else { list.add(event.getPlayer().getName()); SLAPI.save(list, "players.list"); } } public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("referred")){ Player referrer = (Player) Bukkit.getServer().getPlayer(args[0]); Player psender = (Player) sender; if (list.contains(psender.getName())){ sender.sendMessage(getConfig().getString("playedbefore")); } else { psender.sendMessage(getConfig().getString("willreceivegift")); psender.getInventory().addItem(new ItemStack(Material.getMaterial(getConfig().getInt("referralitemid")), getConfig().getInt("referralamount"))); list.add(psender.getName()); try { SLAPI.save(list, "players.list"); } catch (Exception e1) { e1.printStackTrace(); } if (getServer().getOfflinePlayer(referrer.getName()).isOnline()){ referrer.getPlayer().sendMessage(getConfig().getString("referrergiftmessage")); referrer.getInventory().addItem(new ItemStack(Material.getMaterial(getConfig().getInt("referreritemid")), getConfig().getInt("referreramount"))); } else { playerslist.add(referrer.getName()); try { SLAPI.save(playerslist, "giftplayers.list"); } catch (Exception e) { e.printStackTrace(); } } } } return false; } }
Well one thing, put your code Between Code: [Syntax=java] and [/syntax] its way easer to read the code. Second of all, You save your lists when you start up your plugin, should you be loading them in? And in the onDisable put the saving? And also when you "save" your lists, you don't make the files after you check if they exists. do FILENAME.createNewFile()
You have to register the event listener, look at this page for more help: http://wiki.bukkit.org/Introduction_to_the_New_Event_System
Use only 1 PlayerJoinEvent and add the return statment: return true; And add in you class, onEnable(): Code: PluginManager pm = Bukkit.getServer().getPluginManager(); pm.registerEvents(this, this);
Thank you but I'm not that noobic . I youst to make bukkit plugins back when you had a seperate playerlistener etc, so I'm just getting youst to the new system