public static Entity getPassenger(Entity mount) { // TODO: Use getPassengers, refactor to search through list return mount.getPassenger(); }
@Override public Entity getPassenger() { return base.getPassenger(); }
public org.bukkit.entity.Entity getPassenger() { return entity.getPassenger(); }
@SuppressWarnings("deprecation") @Override public List<Entity> getEntityPassengers(final Entity entity) { final Entity passenger = entity.getPassenger(); return passenger == null ? nullPassenger : Arrays.asList(passenger); }
@Deprecated public void shutdown() { for (MobImpl mobImpl : this.mobs.values()) { if (mobImpl.displayMessage != null) { try { Entity entity = (Entity) mobImpl.displayMessage; if (entity.getPassenger() != null) { entity.getPassenger().remove(); } mobImpl.displayMessage.getClass().getMethod("remove").invoke(mobImpl.displayMessage); } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { } } mobImpl.entity.remove(); } mobs.clear(); }
/** * {@inheritDoc} */ @Override public Location getLocation(Entity e) { Player p = plugin.getServer().getPlayer(this.player); Player plLoc = null; if (e instanceof Player) { plLoc = (Player) e; } else if (e.getPassenger() instanceof Player) { plLoc = (Player) e.getPassenger(); } if (p != null && plLoc != null) { return p.getLocation(); } return null; }
@Override public boolean isAccepted(MobSelector.MobImpl value) { return ((Entity) value.getDisplayMessage()).getPassenger() != null && e.getEntity().getEntityId() == ((Entity) value.getDisplayMessage()).getPassenger().getEntityId(); } });
private void teleport(final Entity entity, Location location, int delay) { final Entity passenger = entity.getPassenger(); entity.eject(); entity.teleport(location); if (passenger == null) return; teleport(passenger, location, delay++); Runnable task = new Runnable() { @Override public void run() { entity.setPassenger(passenger); } }; if (!location.getWorld().equals(entity.getWorld())) { Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(), task, delay); } else { task.run(); } }
@EventHandler public void onHorseJump(HorseJumpEvent event) { Entity horse = ((EntityEvent)event).getEntity(); if (horse.hasMetadata("broom")) { Entity passenger = horse.getPassenger(); Mage mage = controller.getMage(passenger); Set<Spell> active = mage.getActiveSpells(); for (Spell spell : active) { if (spell instanceof LevitateSpell) { LevitateSpell levitate = (LevitateSpell)spell; double amount = Math.max(0, (event.getPower() - mountBoostMinimum) / (1 - mountBoostMinimum)); levitate.boost(amount); } } } }
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onEntityInteract(EntityInteractEvent event) { Material material = event.getBlock().getType(); if(material == Material.SOIL) { if(!GriefPrevention.instance.config_creaturesTrampleCrops) { event.setCancelled(true); } else { Entity rider = event.getEntity().getPassenger(); if(rider != null && rider.getType() == EntityType.PLAYER) { event.setCancelled(true); } } } }
@EventHandler public void onVehicleExit(VehicleExitEvent event) { Entity vehicle = event.getVehicle(); if (vehicle.hasMetadata("broom")) { event.setCancelled(true); Entity passenger = vehicle.getPassenger(); Mage mage = controller.getMage(passenger); Set<Spell> active = mage.getActiveSpells(); for (Spell spell : active) { if (spell instanceof LevitateSpell) { LevitateSpell levitate = (LevitateSpell)spell; levitate.forceSneak(10); } } } } }
if (teleportee instanceof Player) { teleporteePlayer = ((Player) teleportee); } else if (teleportee.getPassenger() instanceof Player) { teleporteePlayer = ((Player) teleportee.getPassenger());
this.plugin.getMessaging().sendMessage(p, "No safe locations found!", false); this.plugin.log(Level.FINER, "No safe location found for " + p.getName()); } else if (e.getPassenger() instanceof Player) { Player p = (Player) e.getPassenger(); this.plugin.getMessaging().sendMessage(p, "No safe locations found!", false); this.plugin.log(Level.FINER, "No safe location found for " + p.getName());