@EventHandler(priority = EventPriority.LOWEST) public void onEntityCollide(VehicleEntityCollisionEvent event) { List<Entity> passengers = event.getVehicle().getPassengers(); if(passengers.isEmpty() || passengers.get(0) != event.getEntity()) { BukkitMCVehicleEntityCollideEvent vec = new BukkitMCVehicleEntityCollideEvent(event); EventUtils.TriggerListener(Driver.VEHICLE_COLLIDE, "vehicle_collide", vec); } }
@EventHandler(ignoreCancelled = true) public void onVehicleEnter(VehicleEnterEvent event) { if (!event.getVehicle().getPassengers().isEmpty() && needsRestrict()) { event.setCancelled(true); } }
@EventHandler(priority = EventPriority.LOWEST) public void onBlockCollide(VehicleBlockCollisionEvent event) { if(event.getVehicle() instanceof Animals && event.getVehicle().getPassengers().isEmpty()) { return; } BukkitMCVehicleBlockCollideEvent vbc = new BukkitMCVehicleBlockCollideEvent(event); EventUtils.TriggerListener(Driver.VEHICLE_COLLIDE, "vehicle_collide", vbc); }
@EventHandler (ignoreCancelled = false, priority = EventPriority.MONITOR) @SuppressWarnings("ucd") public void onVehicleEntityCollision(VehicleEntityCollisionEvent event) { final List<Entity> passengers = event.getVehicle().getPassengers(); for(Entity passenger : passengers) { if(passenger.getEntityId() == event.getEntity().getEntityId()) { return; } } speedmap.remove(event.getVehicle().getEntityId()); }
addAll(((Projectile) o).getShooter()); } else if (o instanceof Vehicle) { addAll(((Vehicle) o).getPassengers()); } else if (o instanceof Creature && ((Creature) o).getTarget() != null) { indirect = true;
@EventHandler public void onVehicleMove(VehicleMoveEvent event) { Vehicle vehicle = event.getVehicle(); if (vehicle.getPassengers().isEmpty()) return; List<LocalPlayer> playerPassengers = vehicle.getPassengers().stream().filter(ent -> ent instanceof Player).map(ent -> plugin.wrapPlayer((Player) ent)).collect(Collectors.toList()); if (playerPassengers.isEmpty()) { return; } World world = vehicle.getWorld(); ConfigurationManager cfg = WorldGuard.getInstance().getPlatform().getGlobalStateManager(); WorldConfiguration wcfg = cfg.get(BukkitAdapter.adapt(world)); if (wcfg.useRegions) { // Did we move a block? if (Locations.isDifferentBlock(BukkitAdapter.adapt(event.getFrom()), BukkitAdapter.adapt(event.getTo()))) { for (LocalPlayer player : playerPassengers) { if (null != WorldGuard.getInstance().getPlatform().getSessionManager().get(player) .testMoveTo(player, BukkitAdapter.adapt(event.getTo()), MoveType.RIDE)) { vehicle.setVelocity(new Vector(0, 0, 0)); vehicle.teleport(event.getFrom()); return; } } } } } }
/** * @param event */ @EventHandler(priority = EventPriority.HIGH) public void onVehicleExit(VehicleExitEvent event) { Vehicle vehicle = event.getVehicle(); List<Entity> passengers = vehicle.getPassengers(); for (Entity passenger : passengers) { if (passenger instanceof Player) { Player player = (Player) passenger; Field field = plugin.getForceFieldManager().getEnabledSourceField(player.getLocation(), FieldFlag.PREVENT_VEHICLE_EXIT); if (field != null) { if (FieldFlag.PREVENT_VEHICLE_EXIT.applies(field, player)) { event.setCancelled(true); } } } } } }
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onVehicleMove(VehicleMoveEvent e) { // Ignore only vertical movement if (e.getFrom().getBlockX() - e.getTo().getBlockX() == 0 && e.getFrom().getBlockZ() - e.getTo().getBlockZ() == 0) { return; } // For each Player in the vehicle e.getVehicle().getPassengers().stream().filter(en -> en instanceof Player).map(en -> (Player)en).forEach(p -> { if (!checkAndNotify(p, e.getTo()).equals(CheckResult.OPEN)) { p.leaveVehicle(); p.teleport(e.getFrom()); e.getFrom().getWorld().playSound(e.getFrom(), Sound.BLOCK_ANVIL_HIT, 1F, 1F); eject(p); } }); }
/** * @param event */ @EventHandler(priority = EventPriority.HIGH) public void onVehicleMove(VehicleMoveEvent event) { Vehicle vehicle = event.getVehicle(); if (plugin.getSettingsManager().isBlacklistedWorld(vehicle.getLocation().getWorld())) { return; } List<Entity> passengers = vehicle.getPassengers(); for (Entity passenger : passengers) { if (passenger instanceof Player) { plugin.getPlayerListener().onPlayerMove(new PlayerMoveEvent((Player) passenger, event.getFrom(), event.getTo())); } } }
/** * @param event */ @EventHandler(priority = EventPriority.HIGH) public void onVehicleEnter(VehicleEnterEvent event) { Vehicle vehicle = event.getVehicle(); if (plugin.getSettingsManager().isBlacklistedWorld(vehicle.getLocation().getWorld())) { return; } List<Entity> passengers = vehicle.getPassengers(); for (Entity passenger : passengers) { if (passenger instanceof Player) { Player player = (Player) passenger; Field field = plugin.getForceFieldManager().getEnabledSourceField(player.getLocation(), FieldFlag.PREVENT_VEHICLE_ENTER); if (field != null) { if (FieldFlag.PREVENT_VEHICLE_ENTER.applies(field, player)) { event.setCancelled(true); } } } } }
final List<Entity> passengers = this.getVehicle().getPassengers(); for (Entity passenger : passengers) { if (passenger instanceof InventoryHolder) {