Java 类org.bukkit.entity.Vehicle 实例源码

项目:RedProtect    文件:RPGlobalListener.java   
@EventHandler
public void onVehicleBreak(VehicleDestroyEvent e){
    if (e.isCancelled()){
        return;
    }
    if (!(e.getAttacker() instanceof Player)){
        return;
    }

    Vehicle cart = e.getVehicle();
    Player p = (Player) e.getAttacker();
    Region r = RedProtect.get().rm.getTopRegion(cart.getLocation());
    if (r != null){
        return;
    }

    if (!RPConfig.getGlobalFlagBool(p.getWorld().getName()+".use-minecart") && !p.hasPermission("redprotect.bypass.world")){
        e.setCancelled(true);
    }
}
项目:RedProtect    文件:RPBlockListener.java   
@EventHandler
public void onVehicleBreak(VehicleDestroyEvent e){
    RedProtect.get().logger.debug("RPBlockListener - Is VehicleDestroyEvent event");
    if (e.isCancelled()){
        return;
    }
    if (!(e.getAttacker() instanceof Player)){
        return;
    }
    Vehicle cart = e.getVehicle();
    Player p = (Player) e.getAttacker();
    Region r = RedProtect.get().rm.getTopRegion(cart.getLocation());

    if (r != null && !r.canMinecart(p)){
        RPLang.sendMessage(p, "blocklistener.region.cantbreak");
        e.setCancelled(true);
    }
}
项目:AncientGates    文件:TeleportUtil.java   
public static void teleportVehicle(final Player player, final String vehicleTypeName, final double velocity, final Location location) {
    checkChunkLoad(location.getBlock());

    // Crete new velocity
    final Vector newVelocity = location.getDirection();
    newVelocity.multiply(velocity);

    final Vehicle v = (Vehicle) location.getWorld().spawnEntity(location, EntityUtil.entityType(vehicleTypeName));
    player.teleport(location);
    Plugin.instance.getServer().getScheduler().scheduleSyncDelayedTask(Plugin.instance, new Runnable() {
        @Override
        public void run() {
            v.setPassenger(player);
            v.setVelocity(newVelocity);
        }
    }, 2);
}
项目:NovaGuilds    文件:RegionInteractListener.java   
@EventHandler
public void onPlayerUnleashEntity(PlayerUnleashEntityEvent event) {
    List<String> denyRiding = Config.REGION_DENYRIDING.getStringList();
    Player player = event.getPlayer();
    Entity entity = event.getEntity();
    NovaPlayer nPlayer = PlayerManager.getPlayer(player);

    if(denyRiding.contains(entity.getType().name())) {
        if(RegionManager.get(entity) != null
                && (!plugin.getRegionManager().canInteract(player, entity) || (!nPlayer.getPreferences().getBypass() && !nPlayer.hasPermission(GuildPermission.MOB_LEASH)))
                && !(entity instanceof Vehicle) || !PlayerManager.getPlayer(player).isVehicleListed((Vehicle) event.getEntity())) {
            event.setCancelled(true);
            Message.CHAT_REGION_DENY_UNLEASH.send(player);
        }
    }
}
项目:NovaGuilds    文件:RegionInteractListener.java   
@EventHandler
public void onVehicleEnter(VehicleEnterEvent event) {
    Vehicle vehicle = event.getVehicle();

    if(!(event.getEntered() instanceof Player)) {
        return;
    }

    final Player player = (Player) event.getEntered();
    NovaPlayer nPlayer = PlayerManager.getPlayer(player);

    List<String> denyRiding = Config.REGION_DENYRIDING.getStringList();

    if(denyRiding.contains(vehicle.getType().name())
            && RegionManager.get(vehicle) != null
            && (!plugin.getRegionManager().canInteract(player, vehicle) || (!nPlayer.getPreferences().getBypass() && !nPlayer.hasPermission(GuildPermission.MOB_RIDE)))
            && !PlayerManager.getPlayer(event.getEntered()).isVehicleListed(vehicle)) {
        event.setCancelled(true);
        Message.CHAT_REGION_DENY_RIDEMOB.send(event.getEntered());
    }
}
项目:PlotSquared    文件:PlayerEvents.java   
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onVehicleCreate(VehicleCreateEvent event) {
    Vehicle entity = event.getVehicle();
    Location location = BukkitUtil.getLocation(entity);
    PlotArea area = location.getPlotArea();
    if (area == null) {
        return;
    }
    Plot plot = area.getOwnedPlotAbs(location);
    if (plot == null || checkEntity(entity, plot)) {
        entity.remove();
        return;
    }
    if (Settings.Enabled_Components.KILL_ROAD_VEHICLES) {
        entity.setMetadata("plot", new FixedMetadataValue((Plugin) PS.get().IMP, plot));
    }
}
项目:Cauldron    文件:EntityBoat.java   
@Override

    /**
     * Applies a velocity to each of the entities pushing them away from each other. Args: entity
     */
    public void applyEntityCollision(Entity entity)
    {
        org.bukkit.entity.Entity hitEntity = (entity == null) ? null : entity.getBukkitEntity();
        VehicleEntityCollisionEvent event = new VehicleEntityCollisionEvent((Vehicle) this.getBukkitEntity(), hitEntity);
        this.worldObj.getServer().getPluginManager().callEvent(event);

        if (event.isCancelled())
        {
            return;
        }

        super.applyEntityCollision(entity);
    }
项目:SpigotSource    文件:Entity.java   
protected void p(Entity entity) {
    if (entity.bz() == this) {
        throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)");
    } else {
        // CraftBukkit start
        CraftEntity craft = (CraftEntity) entity.getBukkitEntity().getVehicle();
        Entity orig = craft == null ? null : craft.getHandle();
        if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) {
            VehicleExitEvent event = new VehicleExitEvent(
                    (Vehicle) getBukkitEntity(),
                    (LivingEntity) entity.getBukkitEntity()
            );
            Bukkit.getPluginManager().callEvent(event);
            CraftEntity craftn = (CraftEntity) entity.getBukkitEntity().getVehicle();
            Entity n = craftn == null ? null : craftn.getHandle();
            if (event.isCancelled() || n != orig) {
                return;
            }
        }
        // CraftBukkit end
        Bukkit.getPluginManager().callEvent( new org.spigotmc.event.entity.EntityDismountEvent(entity.getBukkitEntity(), this.getBukkitEntity())); // Spigot
        this.passengers.remove(entity);
        entity.j = 60;
    }
}
项目:simple-survival-games    文件:SSGVehicleListener.java   
@EventHandler
public void onVehicleDestroy(VehicleDestroyEvent event) {
    Vehicle v = event.getVehicle();
    Entity attacker = event.getAttacker();

    ArenaManager am = SimpleSurvivalGames.instance.getArenaManager();

    for(Arena a : am.getArenas()) {
        if(a.isArenaCuboidSet()) {
            if(a.getArenaCuboid().isInsideCuboid(v.getLocation())) {
                if(!a.isInEditMode()) {
                    event.setCancelled(true);
                    if(attacker instanceof Player) {
                        Player p = (Player) attacker;
                        p.sendMessage(ChatColor.DARK_RED + "You may not destroy this vehicle!");
                    }
                }
            }
        }
    }
}
项目:ZentrelaRPG    文件:HorseManager.java   
@EventHandler
public void onDismount(VehicleExitEvent event) {
    if (event.getExited() instanceof Player) {
        Player p = (Player) event.getExited();
        if (plugin.getPD(p) != null)
            plugin.getPD(p).riding = false;
    }
    if (horseUUIDs.contains(event.getVehicle().getUniqueId())) {
        Vehicle v = event.getVehicle();
        RScheduler.schedule(plugin, new Runnable() {
            public void run() {
                if (v != null && v.isValid()) {
                    if (v instanceof Horse) {
                        if (((CraftHorse) v).getHandle() instanceof CustomHorse) {
                            ((CustomHorse) ((CraftHorse) v).getHandle()).rearUp();
                        }
                    }
                }
            }
        }, 10);
        RScheduler.schedule(plugin, new Runnable() {
            public void run() {
                if (v != null && v.isValid()) {
                    RParticles.show(ParticleEffect.CLOUD, v.getLocation().add(0, 1, 0), 10);
                    v.remove();
                }
            }
        }, 35);
    }
}
项目:HCFCore    文件:BoatGlitchFixListener.java   
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onVehicleCreate(VehicleCreateEvent event) {
    Vehicle vehicle = event.getVehicle();
    if (vehicle instanceof Boat) {
        Boat boat = (Boat) vehicle;
        Block belowBlock = boat.getLocation().add(0, -1, 0).getBlock();
        if (belowBlock.getType() != Material.WATER && belowBlock.getType() != Material.STATIONARY_WATER) {
            boat.remove();
        }
    }
}
项目:HCFCore    文件:BoatGlitchFixListener.java   
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
public void onVehicleCreate(VehicleCreateEvent event) {
    Vehicle vehicle = event.getVehicle();
    if (vehicle instanceof Boat) {
        Boat boat = (Boat) vehicle;
        Block belowBlock = boat.getLocation().add(0, -1, 0).getBlock();
        if (belowBlock.getType() != Material.WATER && belowBlock.getType() != Material.STATIONARY_WATER) {
            boat.remove();
        }
    }
}
项目:buildinggame    文件:EntitySpawn.java   
/**
    * Handles vehicle spawning
    *
    * @param e an event representing a vehicle that has spawned
    * @see VehicleCreateEvent
    * @since 4.0.0
    */
@EventHandler(ignoreCancelled = true)
public void onVehicleCreate(VehicleCreateEvent e) {
    Vehicle vehicle = e.getVehicle();

    Plot plot;
    if ((plot = Plot.getPlot(vehicle.getLocation())) != null) {
        if (!plot.addEntity(vehicle))
            vehicle.remove();
    }
}
项目:CraftBukkit    文件:EntityMinecartAbstract.java   
public EntityMinecartAbstract(World world, double d0, double d1, double d2) {
    this(world);
    this.setPosition(d0, d1, d2);
    this.motX = 0.0D;
    this.motY = 0.0D;
    this.motZ = 0.0D;
    this.lastX = d0;
    this.lastY = d1;
    this.lastZ = d2;

    this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:CraftBukkit    文件:EntityBoat.java   
@Override
public void collide(Entity entity) {
    org.bukkit.entity.Entity hitEntity = (entity == null) ? null : entity.getBukkitEntity();

    VehicleEntityCollisionEvent event = new VehicleEntityCollisionEvent((Vehicle) this.getBukkitEntity(), hitEntity);
    this.world.getServer().getPluginManager().callEvent(event);

    if (event.isCancelled()) {
        return;
    }

    super.collide(entity);
}
项目:CraftBukkit    文件:EntityBoat.java   
public EntityBoat(World world, double d0, double d1, double d2) {
    this(world);
    this.setPosition(d0, d1 + (double) this.height, d2);
    this.motX = 0.0D;
    this.motY = 0.0D;
    this.motZ = 0.0D;
    this.lastX = d0;
    this.lastY = d1;
    this.lastZ = d2;

    this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:CraftBukkit    文件:EntityBoat.java   
protected void a(double d0, boolean flag) {
    int i = MathHelper.floor(this.locX);
    int j = MathHelper.floor(this.locY);
    int k = MathHelper.floor(this.locZ);

    if (flag) {
        if (this.fallDistance > 3.0F) {
            this.b(this.fallDistance);
            if (!this.world.isStatic && !this.dead) {
                // CraftBukkit start
                Vehicle vehicle = (Vehicle) this.getBukkitEntity();
                VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, null);
                this.world.getServer().getPluginManager().callEvent(destroyEvent);
                if (!destroyEvent.isCancelled()) {
                    this.die();

                    int l;

                    for (l = 0; l < 3; ++l) {
                        this.a(Item.getItemOf(Blocks.WOOD), 1, 0.0F);
                    }

                    for (l = 0; l < 2; ++l) {
                        this.a(Items.STICK, 1, 0.0F);
                    }
                }
                // CraftBukkit end
            }

            this.fallDistance = 0.0F;
        }
    } else if (this.world.getType(i, j - 1, k).getMaterial() != Material.WATER && d0 < 0.0D) {
        this.fallDistance = (float) ((double) this.fallDistance - d0);
    }
}
项目:AncientGates    文件:ExecuteUtil.java   
public static void execCommand(final Vehicle vehicle, final String command, final CommandType commandType, final Boolean teleport) {
    final Entity passenger = vehicle.getPassenger();

    // Spin player 180 deg
    if (teleport) {
        final Location position = vehicle.getLocation();
        float yaw = position.getYaw();
        if ((yaw += 180) > 360) {
            yaw -= 360;
        }
        position.setYaw(yaw);
        position.add(position.getDirection().multiply(2));

        final Vehicle v = position.getWorld().spawn(position, vehicle.getClass());
        vehicle.eject();
        vehicle.remove();
        passenger.teleport(position);
        passenger.setFireTicks(0); // Cancel lava fire
        Plugin.instance.getServer().getScheduler().scheduleSyncDelayedTask(Plugin.instance, new Runnable() {
            @Override
            public void run() {
                v.setPassenger(passenger);
            }
        }, 2);
    }

    // Execute command as player or console
    Plugin.instance.getServer().getScheduler().scheduleSyncDelayedTask(Plugin.instance, new Runnable() {
        @Override
        public void run() {
            execCommand((Player) passenger, command, commandType);
        }
    }, 3);
}
项目:AncientGates    文件:PluginEntityListener.java   
@EventHandler
public void onEntityPortal(final EntityPortalEvent event) {
    if (event.isCancelled()) {
        return;
    }
    if (!(event.getEntity() instanceof Player) && !(event.getEntity().getPassenger() instanceof Player)) {
        // Ok so an entity portal event begins
        // Find the nearest gate!
        final WorldCoord entityCoord = new WorldCoord(event.getEntity().getLocation());
        final Gate nearestGate = GateUtil.nearestGate(entityCoord, true);

        if (nearestGate != null) {
            event.setCancelled(true);

            /*
             * Teleport non-living vehicles - Only when useVanillaPortals is enabled Boolean
             * Expression: Rtrn = VanilFlag' InstVeh InstLiv';
             */
            if (!Conf.useVanillaPortals && event.getEntity() instanceof Vehicle && !(event.getEntity() instanceof LivingEntity)) {
                return;
            }

            /*
             * Teleport entities (incl. living vehicles) - If they're allowed Teleport
             * non-living vehicles if they're allowed Boolean Expression: Tele = EntFlag
             * InstVeh' + EntFlag InstLiv + VehFlag InstVeh InstLiv';
             */
            if (nearestGate.getTeleportEntities() && !(event.getEntity() instanceof Vehicle) || nearestGate.getTeleportEntities() && event.getEntity() instanceof LivingEntity
                    || nearestGate.getTeleportVehicles() && event.getEntity() instanceof Vehicle && !(event.getEntity() instanceof LivingEntity)) {
                if (nearestGate.getBungeeTo() == null) {
                    TeleportUtil.teleportEntity(event, nearestGate.getTo());
                } else {
                    TeleportUtil.teleportEntity(event, nearestGate.getBungeeTo());
                }
            }
        }
    }
}
项目:PlotSquared-Chinese    文件:PlayerEvents.java   
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onVehicleCreate(final VehicleCreateEvent event) {
    Vehicle entity = event.getVehicle();
    Location loc = BukkitUtil.getLocation(entity);
    Plot plot = MainUtil.getPlot(loc);
    if (checkEntity(entity, plot)) {
        entity.remove();
    }
}
项目:NovaGuilds    文件:RegionInteractListener.java   
@EventHandler
public void onPlayerLeashEntity(PlayerLeashEntityEvent event) {
    List<String> denyRiding = Config.REGION_DENYRIDING.getStringList();
    Player player = event.getPlayer();
    Entity entity = event.getEntity();
    NovaPlayer nPlayer = PlayerManager.getPlayer(player);

    if(denyRiding.contains(entity.getType().name())
            && RegionManager.get(entity) != null
            && (!plugin.getRegionManager().canInteract(player, entity) || (!nPlayer.getPreferences().getBypass() && !nPlayer.hasPermission(GuildPermission.MOB_LEASH)))
            && (!(entity instanceof Vehicle) || !PlayerManager.getPlayer(player).isVehicleListed((Vehicle) event.getEntity()))) {
        event.setCancelled(true);
        Message.CHAT_REGION_DENY_LEASH.send(event.getPlayer());
    }
}
项目:Almura-Server    文件:EntityMinecartAbstract.java   
public EntityMinecartAbstract(World world, double d0, double d1, double d2) {
    this(world);
    this.setPosition(d0, d1, d2);
    this.motX = 0.0D;
    this.motY = 0.0D;
    this.motZ = 0.0D;
    this.lastX = d0;
    this.lastY = d1;
    this.lastZ = d2;

    this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:Almura-Server    文件:EntityBoat.java   
@Override
public void collide(Entity entity) {
    org.bukkit.entity.Entity hitEntity = (entity == null) ? null : entity.getBukkitEntity();

    VehicleEntityCollisionEvent event = new VehicleEntityCollisionEvent((Vehicle) this.getBukkitEntity(), hitEntity);
    this.world.getServer().getPluginManager().callEvent(event);

    if (event.isCancelled()) {
        return;
    }

    super.collide(entity);
}
项目:Almura-Server    文件:EntityBoat.java   
public EntityBoat(World world, double d0, double d1, double d2) {
    this(world);
    this.setPosition(d0, d1 + (double) this.height, d2);
    this.motX = 0.0D;
    this.motY = 0.0D;
    this.motZ = 0.0D;
    this.lastX = d0;
    this.lastY = d1;
    this.lastZ = d2;

    this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:acidisland    文件:SafeBoat.java   
/**
 * @param e
 *            This event check throws the boat at a player when they hit it
 *            unless someone is in it
 */
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onClick(VehicleDamageEvent e) {
    // plugin.getLogger().info("Damage event " + e.getDamage());
    // Find out what block is being clicked
    Vehicle boat = e.getVehicle();
    if (!(boat instanceof Boat)) {
        return;
    }
    if (!boat.isEmpty()) {
        return;
    }
    final World playerWorld = boat.getWorld();
    if (!playerWorld.getName().equalsIgnoreCase(Settings.worldName)) {
        // Not the right world
        return;
    }
    // plugin.getLogger().info("Boat ");
    // Find out who is doing the clicking
    if (!(e.getAttacker() instanceof Player)) {
        // If a creeper blows up the boat, tough cookies!
        return;
    }
    Player p = (Player) e.getAttacker();
    if (p == null) {
        return;
    }
    // Try to remove the boat and throw it at the player
    Location boatSpot = new Location(boat.getWorld(), boat.getLocation().getX(), boat.getLocation().getY() + 2, boat.getLocation().getZ());
    Location throwTo = new Location(boat.getWorld(), p.getLocation().getX(), p.getLocation().getY() + 1, p.getLocation().getZ());
    ItemStack newBoat = new ItemStack(Material.BOAT, 1);
    // Find the direction the boat should move in
    Vector dir = throwTo.toVector().subtract(boatSpot.toVector()).normalize();
    dir = dir.multiply(0.5);
    Entity newB = boat.getWorld().dropItem(boatSpot, newBoat);
    newB.setVelocity(dir);
    boat.remove();
    e.setCancelled(true);
}
项目:Tweakkit-Server    文件:EntityMinecartAbstract.java   
public EntityMinecartAbstract(World world, double d0, double d1, double d2) {
    this(world);
    this.setPosition(d0, d1, d2);
    this.motX = 0.0D;
    this.motY = 0.0D;
    this.motZ = 0.0D;
    this.lastX = d0;
    this.lastY = d1;
    this.lastZ = d2;

    this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:Tweakkit-Server    文件:EntityBoat.java   
@Override
public void collide(Entity entity) {
    org.bukkit.entity.Entity hitEntity = (entity == null) ? null : entity.getBukkitEntity();

    VehicleEntityCollisionEvent event = new VehicleEntityCollisionEvent((Vehicle) this.getBukkitEntity(), hitEntity);
    this.world.getServer().getPluginManager().callEvent(event);

    if (event.isCancelled()) {
        return;
    }

    super.collide(entity);
}
项目:Tweakkit-Server    文件:EntityBoat.java   
public EntityBoat(World world, double d0, double d1, double d2) {
    this(world);
    this.setPosition(d0, d1 + (double) this.height, d2);
    this.motX = 0.0D;
    this.motY = 0.0D;
    this.motZ = 0.0D;
    this.lastX = d0;
    this.lastY = d1;
    this.lastZ = d2;

    this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:Tweakkit-Server    文件:EntityBoat.java   
protected void a(double d0, boolean flag) {
    int i = MathHelper.floor(this.locX);
    int j = MathHelper.floor(this.locY);
    int k = MathHelper.floor(this.locZ);

    if (flag) {
        if (this.fallDistance > 3.0F) {
            this.b(this.fallDistance);
            if (!this.world.isStatic && !this.dead) {
                // CraftBukkit start
                Vehicle vehicle = (Vehicle) this.getBukkitEntity();
                VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, null);
                this.world.getServer().getPluginManager().callEvent(destroyEvent);
                if (!destroyEvent.isCancelled()) {
                    this.die();

                    int l;

                    for (l = 0; l < 3; ++l) {
                        this.a(Item.getItemOf(Blocks.WOOD), 1, 0.0F);
                    }

                    for (l = 0; l < 2; ++l) {
                        this.a(Items.STICK, 1, 0.0F);
                    }
                }
                // CraftBukkit end
            }

            this.fallDistance = 0.0F;
        }
    } else if (this.world.getType(i, j - 1, k).getMaterial() != Material.WATER && d0 < 0.0D) {
        this.fallDistance = (float) ((double) this.fallDistance - d0);
    }
}
项目:askyblock    文件:SafeBoat.java   
/**
 * @param e
 *            This event check throws the boat at a player when they hit it
 *            unless someone is in it
 */
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onClick(VehicleDamageEvent e) {
    // plugin.getLogger().info("Damage event " + e.getDamage());
    // Find out what block is being clicked
    Vehicle boat = e.getVehicle();
    if (!(boat instanceof Boat)) {
        return;
    }
    if (!boat.isEmpty()) {
        return;
    }
    final World playerWorld = boat.getWorld();
    if (!playerWorld.getName().equalsIgnoreCase(Settings.worldName)) {
        // Not the right world
        return;
    }
    // plugin.getLogger().info("Boat ");
    // Find out who is doing the clicking
    if (!(e.getAttacker() instanceof Player)) {
        // If a creeper blows up the boat, tough cookies!
        return;
    }
    Player p = (Player) e.getAttacker();
    if (p == null) {
        return;
    }
    // Try to remove the boat and throw it at the player
    Location boatSpot = new Location(boat.getWorld(), boat.getLocation().getX(), boat.getLocation().getY() + 2, boat.getLocation().getZ());
    Location throwTo = new Location(boat.getWorld(), p.getLocation().getX(), p.getLocation().getY() + 1, p.getLocation().getZ());
    ItemStack newBoat = new ItemStack(Material.BOAT, 1);
    // Find the direction the boat should move in
    Vector dir = throwTo.toVector().subtract(boatSpot.toVector()).normalize();
    dir = dir.multiply(0.5);
    Entity newB = boat.getWorld().dropItem(boatSpot, newBoat);
    newB.setVelocity(dir);
    boat.remove();
    e.setCancelled(true);
}
项目:Cauldron    文件:EntityMinecart.java   
public EntityMinecart(World p_i1713_1_, double p_i1713_2_, double p_i1713_4_, double p_i1713_6_)
{
    this(p_i1713_1_);
    this.setPosition(p_i1713_2_, p_i1713_4_, p_i1713_6_);
    this.motionX = 0.0D;
    this.motionY = 0.0D;
    this.motionZ = 0.0D;
    this.prevPosX = p_i1713_2_;
    this.prevPosY = p_i1713_4_;
    this.prevPosZ = p_i1713_6_;
    this.worldObj.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:Cauldron    文件:EntityBoat.java   
public EntityBoat(World p_i1705_1_, double p_i1705_2_, double p_i1705_4_, double p_i1705_6_)
{
    this(p_i1705_1_);
    this.setPosition(p_i1705_2_, p_i1705_4_ + (double)this.yOffset, p_i1705_6_);
    this.motionX = 0.0D;
    this.motionY = 0.0D;
    this.motionZ = 0.0D;
    this.prevPosX = p_i1705_2_;
    this.prevPosY = p_i1705_4_;
    this.prevPosZ = p_i1705_6_;
    this.worldObj.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:SpigotSource    文件:EntityMinecartAbstract.java   
public EntityMinecartAbstract(World world, double d0, double d1, double d2) {
    this(world);
    this.setPosition(d0, d1, d2);
    this.motX = 0.0D;
    this.motY = 0.0D;
    this.motZ = 0.0D;
    this.lastX = d0;
    this.lastY = d1;
    this.lastZ = d2;

    this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:SpigotSource    文件:EntityBoat.java   
public EntityBoat(World world, double d0, double d1, double d2) {
    this(world);
    this.setPosition(d0, d1, d2);
    this.motX = 0.0D;
    this.motY = 0.0D;
    this.motZ = 0.0D;
    this.lastX = d0;
    this.lastY = d1;
    this.lastZ = d2;
    this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:SpigotSource    文件:EntityBoat.java   
protected void a(double d0, boolean flag, IBlockData iblockdata, BlockPosition blockposition) {
    this.aI = this.motY;
    if (!this.isPassenger()) {
        if (flag) {
            if (this.fallDistance > 3.0F) {
                if (this.aG != EntityBoat.EnumStatus.ON_LAND) {
                    this.fallDistance = 0.0F;
                    return;
                }

                this.e(this.fallDistance, 1.0F);
                if (!this.world.isClientSide && !this.dead) {
                // CraftBukkit start
                Vehicle vehicle = (Vehicle) this.getBukkitEntity();
                VehicleDestroyEvent destroyEvent = new VehicleDestroyEvent(vehicle, null);
                this.world.getServer().getPluginManager().callEvent(destroyEvent);
                if (!destroyEvent.isCancelled()) {
                    this.die();
                    if (this.world.getGameRules().getBoolean("doEntityDrops")) {
                        int i;

                        for (i = 0; i < 3; ++i) {
                            this.a(new ItemStack(Item.getItemOf(Blocks.PLANKS), 1, this.getType().b()), 0.0F);
                        }

                        for (i = 0; i < 2; ++i) {
                            this.a(Items.STICK, 1, 0.0F);
                        }
                    }
                }
                } // CraftBukkit end
            }

            this.fallDistance = 0.0F;
        } else if (this.world.getType((new BlockPosition(this)).down()).getMaterial() != Material.WATER && d0 < 0.0D) {
            this.fallDistance = (float) ((double) this.fallDistance - d0);
        }

    }
}
项目:Craft-city    文件:EntityMinecartAbstract.java   
public EntityMinecartAbstract(World world, double d0, double d1, double d2) {
    this(world);
    this.setPosition(d0, d1 + (double) this.height, d2);
    this.motX = 0.0D;
    this.motY = 0.0D;
    this.motZ = 0.0D;
    this.lastX = d0;
    this.lastY = d1;
    this.lastZ = d2;

    this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:Craft-city    文件:EntityBoat.java   
@Override
public void collide(Entity entity) {
    org.bukkit.entity.Entity hitEntity = (entity == null) ? null : entity.getBukkitEntity();

    VehicleEntityCollisionEvent event = new VehicleEntityCollisionEvent((Vehicle) this.getBukkitEntity(), hitEntity);
    this.world.getServer().getPluginManager().callEvent(event);

    if (event.isCancelled()) {
        return;
    }

    super.collide(entity);
}
项目:Craft-city    文件:EntityBoat.java   
public EntityBoat(World world, double d0, double d1, double d2) {
    this(world);
    this.setPosition(d0, d1 + (double) this.height, d2);
    this.motX = 0.0D;
    this.motY = 0.0D;
    this.motZ = 0.0D;
    this.lastX = d0;
    this.lastY = d1;
    this.lastZ = d2;

    this.world.getServer().getPluginManager().callEvent(new org.bukkit.event.vehicle.VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
项目:SxwPlugin    文件:SxwEvents.java   
@EventHandler
public void cartRocket(PlayerInteractEvent ev){
       if(ev.getPlayer().isInsideVehicle()&&ev.getPlayer().hasPermission("sxw.cartrocket")&&ev.getItem().getTypeId()==280){
        Vehicle v=(Vehicle) ev.getPlayer().getVehicle();
        v.setVelocity(ev.getPlayer().getLocation().getDirection());
       }
}
项目:MinecartRevolutionTags    文件:TagUtils.java   
public static Set<String> getTags(Vehicle vehicle) {

        if (metadataStorage.get(vehicle, "mrtags") != null) {
            return new HashSet<String>(Arrays.asList(metadataStorage.get(vehicle, "mrtags").split(",")));
        } else {
            return new HashSet<String>();
        }
    }