Mounts

Discussion in 'Plugin Development' started by DaanSander, Mar 23, 2015.

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

    DaanSander

    Hello i am trying to make mounts but when i try to check if the clicked entity has the name "test" i would debug it but it wont please help

    code:
    Code:
    package me.daansander.hubgadgets.mounts;
    
    import org.bukkit.Bukkit;
    import org.bukkit.craftbukkit.v1_8_R1.entity.CraftEntity;
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerInteractEntityEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerMoveEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.util.Vector;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    
    /**
    * Created by Daan on 23-3-2015.
    */
    public class MountManager implements Listener {
    
        protected HashMap<Player, Entity> pet = new HashMap<Player, Entity>();
        protected ArrayList<Player> mounted = new ArrayList<Player>();
    
        public boolean hasaMount(Player p) {
            if(pet.containsKey(p)) {
                return true;
            }else {
                return false;
            }
        }
        public boolean isPetOwner(Player p, Entity entity) {
            Entity localEntity = (Entity)pet.get(p);
            return (localEntity != null) && (localEntity.equals(entity));
        }
        @EventHandler
        public void onPlayerQuit(PlayerQuitEvent e) {
            Player p = (Player) e.getPlayer();
            if(hasaMount(p) == true) {
                pet.remove(p);
            } else {
                return;
            }
        }
        @EventHandler
        public void onPlayerInteract(PlayerInteractEntityEvent e) {
            if(e.getRightClicked() instanceof Entity) {
                Player p = e.getPlayer();
                Entity entity = (Entity) e.getRightClicked();
                if(entity.hasMetadata("test")) {
                    Bukkit.broadcastMessage("works");
                }
            }
        }
    
        /*@EventHandler
        public void PlayerMoveEvent(PlayerMoveEvent e){
            Player p = e.getPlayer();
            if(p.getVehicle() == null) {
            }else {
                Entity ent = p.getVehicle();
                if(ent.getType().equals(EntityType.ENDER_DRAGON)) {
                    Vector vec = p.getLocation().getDirection();
                    ent.setVelocity(vec.multiply(5));
                    ((CraftEntity) ent).getHandle().setPositionRotation(ent.getLocation().getX(), ent.getLocation().getY(), ent.getLocation().getZ(), p.getLocation().getYaw() - 180, p.getLocation().getPitch());
                }
            }
        }*/
    }
    
    sorry for bad english
     
  2. Offline

    nverdier

  3. Offline

    mine-care

    Do as
    @nverdier said and don't forget to add the null check :3
     
Thread Status:
Not open for further replies.

Share This Page