I have an issue with toggle players

Discussion in 'Plugin Development' started by Tipper_, Aug 18, 2015.

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

    Tipper_

    Code:
    package me.tipper.hideplayers;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.player.PlayerInteractEvent;
    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 Main extends JavaPlugin implements Listener {
    
        public void onEnable() {
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
        }
    
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e) {
            Player p = e.getPlayer();
            p.getInventory().addItem(new ItemStack(Material.REDSTONE_TORCH_ON));
    
        }
    
    
        @EventHandler
        public void onPlayerQuit(PlayerQuitEvent e) {
            Player p = e.getPlayer();
            p.getInventory().remove(Material.REDSTONE_TORCH_ON);
            p.getInventory().remove(Material.REDSTONE_TORCH_OFF);
    
        }
    
        @EventHandler
        public void onPlayerInteract(PlayerInteractEvent e) {
            Player p = e.getPlayer();
            if (e.getAction() == Action.RIGHT_CLICK_AIR) {
                if (e.getItem().getType() == Material.REDSTONE_TORCH_ON) {
                    Player hide = (Player) Bukkit.getServer().getOnlinePlayers();
                    hide.hidePlayer(hide);
                    p.sendMessage(ChatColor.GRAY + "All players have been " + ChatColor.RED + "" + ChatColor.BOLD + "hidden.");
                    p.getInventory().remove(Material.REDSTONE_TORCH_ON);
                    p.setItemInHand(new ItemStack(Material.REDSTONE_TORCH_OFF));
    
    
                }
    
                @EventHandler
                public void onPlayerInteract(PlayerInteractEvent e) {
                    Player p = e.getPlayer();
                    if (e.getAction() == Action.RIGHT_CLICK_AIR) {
                        if (e.getItem().getType() == Material.REDSTONE_TORCH_OFF) {
                            Player show = (Player) Bukkit.getOnlinePlayers();
                            show.showPlayer(show);
                            p.sendMessage(ChatColor.GRAY + "All players have been " + ChatColor.RED + "" + ChatColor.BOLD + "revealed.");
                            p.getInventory().remove(Material.REDSTONE_TORCH_OFF);
                            p.setItemInHand(new ItemStack(Material.REDSTONE_TORCH_ON));
    
                        }
                    }
                }
            }
        }
    }
    

    I can't seem to work out why my 4th Event Handler says: "Void is an invalid type for the variable onPlayerInteract" --- Can anyone help?
     
  2. Online

    CraftCreeper6

    @Tipper_
    Rename the event, there's already an event by that name.
     
  3. Offline

    Tipper_

    I've tried that, it still says: "Void is an invalid type for the variable onPlayerInteract"
     
  4. Online

    CraftCreeper6

    @Tipper_
    Ohh, you're missing a } on line 47. Remove one from line 66
     
  5. Offline

    Tipper_

    Thanks for your help, but it turns out I had to put to } there. Thanks everyone!
     
    Last edited: Aug 18, 2015
  6. Offline

    MexMaster

    @Tipper_
    I believe you put your 4th listener into your third ones method.

    Edit: Ninja'd by CraftCreeper ;)
     
    CraftCreeper6 likes this.
  7. Offline

    Tipper_

    Ahh. There we go, thanks!
     
Thread Status:
Not open for further replies.

Share This Page