Bow Interact

Discussion in 'Plugin Development' started by ItsMees, Dec 6, 2013.

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

    ItsMees

    Hi Guys,
    I have an problem, I want it to make that when you shoot an arrow the arrow will teleport you to place where the arrow lands and then explodes!
    My problem:
    The player get teleported but there is no explosion!
    My code
    Code:java
    1. @EventHandler
    2. public void PortalBow(ProjectileHitEvent event) {
    3. if (event.getEntity() instanceof Arrow) {
    4. if (event.getEntity().getShooter() instanceof Player){
    5. Entity entity = event.getEntity();
    6. BlockIterator iterator = new BlockIterator(entity.getWorld(), entity.getLocation().toVector(), entity.getVelocity().normalize(), 0, 4);
    7. Block hitBlock = null;
    8.  
    9. while(iterator.hasNext()) {
    10. hitBlock = iterator.next();
    11. if(hitBlock.getTypeId()!=0) {
    12. break;
    13. }
    14. }
    15.  
    16. LivingEntity liv = event.getEntity().getShooter();
    17. Player p = (Player)liv;
    18. if (p.getItemInHand().getItemMeta().getDisplayName().equals(ChatColor.RED + "Portal Bow")||p.getItemInHand().getItemMeta().getDisplayName().equals("ยง1Portal Bow")){
    19. if(p.getInventory().getItemInHand().getType().equals(Material.BOW)||p.getInventory().getItemInHand().getType().equals(Material.BOW)){
    20. int tpX = (int) hitBlock.getLocation().getX();
    21. int tpY = (int) hitBlock.getLocation().getY() + 1;
    22. int tpZ = (int) hitBlock.getLocation().getZ();
    23. int tpyaw = (int) p.getLocation().getYaw();
    24. int tppitch = (int) p.getLocation().getPitch();
    25. Location loc = new Location(p.getWorld(),tpX,tpY,tpZ,tpyaw,tppitch);
    26. p.teleport(loc);
    27. p.getPlayer().getWorld().createExplosion(loc, 10);
    28. }
    29. }
    30. }
    31. }
    32. }


    I hope someona can help me out!
     
  2. Offline

    TheUpdater

    make a timer then check players posision then make explosion?
     
  3. Offline

    werter318

    p.teleport(entity.getLocation());
    and p.getWorld().createExplosion(blabla);

    Is this what you mean?
     
Thread Status:
Not open for further replies.

Share This Page