Player Join Event not triggering

Discussion in 'Plugin Development' started by Tster, Jul 10, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    Tster

    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;
    }
    }
     
  2. Offline

    gjossep

    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()
     
    sfxworks likes this.
  3. You have to register the event listener, look at this page for more help: http://wiki.bukkit.org/Introduction_to_the_New_Event_System
     
  4. Offline

    mcgamer99

    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);
     
  5. Offline

    Tster

    Thank you but I'm not that noobic :D. I youst to make bukkit plugins back when you had a seperate playerlistener etc, so I'm just getting youst to the new system

    leeeeeeeeeeeeeeegggggggggggggggggiiiiiiiiiiiiiiiiiiiiiitttttttttttttttttttttttttttttttttttttt
    TY

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 26, 2016
  6. Offline

    rtainc

    Grr, apparently you're 'noobic' about spelling... "youst" is "used".
     
  7. Offline

    fireblast709

    How about not necroposting about someones spelling... ;D
     
    resetstats, LugnutsK and coolman9000 like this.
Thread Status:
Not open for further replies.

Share This Page