What is wrong with this code?

Discussion in 'Plugin Development' started by nrs23, Nov 10, 2013.

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

    nrs23

    So im trying to make a plugin that when a player is wearing a zombie head, they are disguised and cant be targeted by zombies for a 30 seconds. I dont get any errors or anything it just doesn't work.

    Can anyone tell me why?

    Code:java
    1. @EventHandler
    2. public void sneakbyzombies(EntityTargetLivingEntityEvent event) {
    3. Entity target = event.getTarget();
    4. Player player = (Player) target;
    5. if (event.getEntity().getType() == EntityType.ZOMBIE) {
    6. if (event.getTarget().getType() == EntityType.PLAYER) {
    7. if (player.getInventory().getHelmet().getType() == Material.SKULL) {
    8. event.setTarget(null);
    9. }
    10. }
    11.  
    12. }
    13. }
    14. @EventHandler
    15. public void timedhead(InventoryInteractEvent event) {
    16. HumanEntity player = event.getWhoClicked();
    17. ItemStack helmet = player.getInventory().getHelmet();
    18. if (Settings.getConfig().getBoolean("zombies.disguise.enabled") && (player.getInventory().getHelmet().getType() == Material.SKULL)); {
    19. try {
    20. Thread.sleep(Settings.getConfig().getInt("zombies.disguise.time")*100);
    21. player.getInventory().remove(helmet);
    22. } catch (InterruptedException e) {
    23. // TODO Auto-generated catch block
    24. e.printStackTrace();
    25. }
    26. }
    27. }
    28. }
     
  2. Offline

    xTrollxDudex

    Oh yeah, because you're putting the entire server to slumber for a second or two.

    Use a scheduler.
     
  3. Offline

    nrs23

  4. Offline

    1Rogue


    Don't sleep the main thread, use a task or separate class that extends thread, etc.
     
  5. Offline

    nrs23

    @1Rogue i still dont understand, can you show me or somthing?
     
  6. Offline

    Gater12

    nrs23 Thread.sleep stops the server for the specified amount of time. Try to use the Bukkit scheduledSyncDelayedTask()
     
Thread Status:
Not open for further replies.

Share This Page