Player Join Event not triggering

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

  1. Offline

    Tster

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    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

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    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()
  3. Offline

    blackwolf12333

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    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

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    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);

    This post has been edited 1 time. It was last edited by mcgamer99 Jul 10, 2012.
  5. Offline

    Tster

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    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
  6. Offline

    Tster

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    leeeeeeeeeeeeeeegggggggggggggggggiiiiiiiiiiiiiiiiiiiiiitttttttttttttttttttttttttttttttttttttt
    TY
  7. Offline

    rtainc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Grr, apparently you're 'noobic' about spelling... "youst" is "used".
  8. Offline

    fireblast709

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    How about not necroposting about someones spelling... ;D
    coolman9000 likes this.

Share This Page