Making a player ride an enderpearl?

Discussion in 'Plugin Development' started by Antigrate, Mar 22, 2014.

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

    Antigrate

    Okay, so I'm trying to make a player ride an enderpearl, and this is what I've got so far:

    Code:java
    1. @EventHandler
    2. public void onProjectileThrow(ProjectileLaunchEvent event)
    3. {
    4. Player player = event.getPlayer();
    5. Entity enderpearl = event.getProjectile();
    6.  
    7. enderpearl.setPassenger(player);
    8. }


    However, for some reason Eclipse throws 2 errors at me:

    The method getPlayer() is undefined for the type ProjectileLaunchEvent
    The method getProjectile() is undefined for the type ProjectileLaunchEvent

    What's going on here?
     
  2. Offline

    Rocoty

    Hei have to use getshooter and getentity and then run instanceof checks and cast
     
  3. Offline

    mickedplay

    Antigrate
    Player p = (Player) e.getEntity();
    I think.
     
  4. Offline

    Rocoty

  5. mickedplay check if shooter instanceof Player and cast e.getShooter to player
     
  6. Offline

    Scizzr

    Code:
    @EventHandler
    public void onProjectileLaunch(ProjectileLaunchEvent event) {
        Projectile proj = event.getEntity();
        if (proj instanceof EnderPearl) {
            EnderPearl pearl = (EnderPearl)proj;
            ProjectileSource source = pearl.getShooter();
            if (source instanceof Player) {
                Player player = (Player)source;
                pearl.setPassenger(player);
            }
        }
    }
    
    Super short version:
    Code:
    @EventHandler
    public void onProjectileLaunch(ProjectileLaunchEvent event) {
        if (event.getEntity().getShooter() instanceof Player && event.getEntity() instanceof EnderPearl) {
            event.getEntity().setPassenger((Player)event.getEntity().getShooter());
        }
    }
    
     
  7. Offline

    Antigrate



    Hmm, this is weird. After my version of the code failed to work I tried yours and it still doesn't work. What happens is, the player is riding on the pearl but like 1/4 through the pearl they just stop and fall, I believe the player is actually blocking the pearl. This doesn't happen however when I'm sneaking, but when I do sneak it doesn't even set me passenger of the pearl, the it just acts like a normal pearl. Weird huh?
     
    MusicalCreeper01 likes this.
Thread Status:
Not open for further replies.

Share This Page