Need help with hide plugin.

Discussion in 'Plugin Development' started by Krijn, Apr 25, 2014.

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

    Krijn

    Hi guys,
    I'm making a plugin which is just like the player hide system from mineplex. One problem: it doesn't work how I want. What it does: It will vanish the players and immediately unvanish the players again.

    This is my code:

    Code:java
    1. @EventHandler
    2. public void onHide(PlayerInteractEvent e){
    3. Player p = e.getPlayer();
    4. Action a = e.getAction();
    5. if(p.getItemInHand().getType() == Material.SLIME_BALL){
    6. if(p.getItemInHand().getItemMeta().getDisplayName().contains(ChatColor.GREEN + "Players are enabled!")){
    7. if(a == Action.LEFT_CLICK_AIR || a == Action.LEFT_CLICK_BLOCK || a == Action.RIGHT_CLICK_AIR || a == Action.LEFT_CLICK_BLOCK){
    8. for(Player targetplayers : Bukkit.getOnlinePlayers()){
    9. if(p.canSee(targetplayers));
    10. p.hidePlayer(targetplayers);
    11. }
    12. p.sendMessage(ChatColor.GRAY + "[Players are now hidden]");
    13. }
    14. ItemStack hide = new ItemStack(Material.SLIME_BALL);
    15. ItemMeta hidemeta = hide.getItemMeta();
    16. hidemeta.setDisplayName(ChatColor.GREEN + "Players are enabled!");
    17. hide.setItemMeta(hidemeta);
    18. p.getInventory().remove(hide);
    19. }
    20. ItemStack show = new ItemStack(Material.MAGMA_CREAM);
    21. ItemMeta showmeta = show.getItemMeta();
    22. showmeta.setDisplayName(ChatColor.RED + "Players are disabled!");
    23. show.setItemMeta(showmeta);
    24. p.getInventory().addItem(show);
    25. return;
    26. }
    27. }
    28.  
    29. @EventHandler
    30. public void onShow(PlayerInteractEvent e){
    31. Player p = e.getPlayer();
    32. Action a = e.getAction();
    33. if(p.getItemInHand().getType() == Material.MAGMA_CREAM){
    34. if(p.getItemInHand().getItemMeta().getDisplayName().contains(ChatColor.RED + "Players are disabled!")){
    35. if(a == Action.LEFT_CLICK_AIR || a == Action.RIGHT_CLICK_AIR || a == Action.LEFT_CLICK_BLOCK || a == Action.RIGHT_CLICK_BLOCK){
    36. for(Player targetplayers : Bukkit.getOnlinePlayers()){
    37. if(!p.canSee(targetplayers));
    38. p.showPlayer(targetplayers);
    39. }
    40. p.sendMessage(ChatColor.GRAY + "[Now you can see players again]");
    41. }
    42. ItemStack show = new ItemStack(Material.MAGMA_CREAM);
    43. ItemMeta showmeta = show.getItemMeta();
    44. showmeta.setDisplayName(ChatColor.RED + "Players are disabled!");
    45. show.setItemMeta(showmeta);
    46. p.getInventory().remove(show);
    47.  
    48. }
    49. ItemStack hide = new ItemStack(Material.SLIME_BALL);
    50. ItemMeta hidemeta = hide.getItemMeta();
    51. hidemeta.setDisplayName(ChatColor.GREEN + "Players are enabled!");
    52. hide.setItemMeta(hidemeta);
    53. p.getInventory().addItem(hide);
    54. return;
    55. }
    56. }
    57. @EventHandler
    58. public void join(PlayerJoinEvent e){
    59. Player p = e.getPlayer();
    60. ItemStack hide = new ItemStack(Material.SLIME_BALL);
    61. ItemMeta hidemeta = hide.getItemMeta();
    62. hidemeta.setDisplayName(ChatColor.GREEN + "Players are enabled!");
    63. hide.setItemMeta(hidemeta);
    64. p.getInventory().addItem(hide);
    65.  
    66. }
    67. }
     
  2. Offline

    coolmonkeyguy

    Krijn I think its because you don't have brackets on your if statements relating to hiding and showing the player
    try this
    Code:java
    1. @EventHandler
    2. public void onHide(PlayerInteractEvent e){
    3. Player p = e.getPlayer();
    4. Action a = e.getAction();
    5. if(p.getItemInHand().getType() == Material.SLIME_BALL){
    6. if(p.getItemInHand().getItemMeta().getDisplayName().contains(ChatColor.GREEN + "Players are enabled!")){
    7. if(a == Action.LEFT_CLICK_AIR || a == Action.LEFT_CLICK_BLOCK || a == Action.RIGHT_CLICK_AIR || a == Action.LEFT_CLICK_BLOCK){
    8. for(Player targetplayers : Bukkit.getOnlinePlayers()){
    9. if(p.canSee(targetplayers));
    10. {
    11. p.hidePlayer(targetplayers);
    12. }
    13. }
    14. p.sendMessage(ChatColor.GRAY + "[Players are now hidden]");
    15. }
    16. ItemStack hide = new ItemStack(Material.SLIME_BALL);
    17. ItemMeta hidemeta = hide.getItemMeta();
    18. hidemeta.setDisplayName(ChatColor.GREEN + "Players are enabled!");
    19. hide.setItemMeta(hidemeta);
    20. p.getInventory().remove(hide);
    21. }
    22. ItemStack show = new ItemStack(Material.MAGMA_CREAM);
    23. ItemMeta showmeta = show.getItemMeta();
    24. showmeta.setDisplayName(ChatColor.RED + "Players are disabled!");
    25. show.setItemMeta(showmeta);
    26. p.getInventory().addItem(show);
    27. return;
    28. }
    29. }
    30.  
    31. @EventHandler
    32. public void onShow(PlayerInteractEvent e){
    33. Player p = e.getPlayer();
    34. Action a = e.getAction();
    35. if(p.getItemInHand().getType() == Material.MAGMA_CREAM){
    36. if(p.getItemInHand().getItemMeta().getDisplayName().contains(ChatColor.RED + "Players are disabled!")){
    37. if(a == Action.LEFT_CLICK_AIR || a == Action.RIGHT_CLICK_AIR || a == Action.LEFT_CLICK_BLOCK || a == Action.RIGHT_CLICK_BLOCK){
    38. for(Player targetplayers : Bukkit.getOnlinePlayers()){
    39. if(!p.canSee(targetplayers));
    40. {
    41. p.showPlayer(targetplayers);
    42. }
    43. }
    44. p.sendMessage(ChatColor.GRAY + "[Now you can see players again]");
    45. }
    46. ItemStack show = new ItemStack(Material.MAGMA_CREAM);
    47. ItemMeta showmeta = show.getItemMeta();
    48. showmeta.setDisplayName(ChatColor.RED + "Players are disabled!");
    49. show.setItemMeta(showmeta);
    50. p.getInventory().remove(show);
    51.  
    52. }
    53. ItemStack hide = new ItemStack(Material.SLIME_BALL);
    54. ItemMeta hidemeta = hide.getItemMeta();
    55. hidemeta.setDisplayName(ChatColor.GREEN + "Players are enabled!");
    56. hide.setItemMeta(hidemeta);
    57. p.getInventory().addItem(hide);
    58. return;
    59. }
    60. }
    61. @EventHandler
    62. public void join(PlayerJoinEvent e){
    63. Player p = e.getPlayer();
    64. ItemStack hide = new ItemStack(Material.SLIME_BALL);
    65. ItemMeta hidemeta = hide.getItemMeta();
    66. hidemeta.setDisplayName(ChatColor.GREEN + "Players are enabled!");
    67. hide.setItemMeta(hidemeta);
    68. p.getInventory().addItem(hide);
    69.  
    70. }
    71. }
     
  3. Offline

    Krijn

    unfortunately it still has the same problem :(
     
  4. Offline

    badboysteee98

    You can do this soo much easier then what your doing :/
     
  5. Offline

    Krijn

    Can you tell me how to do it easier?
     
Thread Status:
Not open for further replies.

Share This Page