Java 类org.bukkit.entity.Minecart 实例源码
项目:Arcadia-Spigot
文件:MusicalMinecartsGame.java
@EventHandler
public void onMinecartEnter(PlayerInteractEntityEvent event) {
if(!(event.getRightClicked() instanceof Minecart)) return;
event.getRightClicked().setGlowing(false);
event.getPlayer().playSound(event.getPlayer().getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 1f, 1f);
inMinecarts++;
if(inMinecarts >= this.getAPI().getGameManager().getPlayersAlive()) {
new BukkitRunnable() {
public void run() {
if(getAPI().getGameManager().getGameState() != GameState.INGAME) return;
Bukkit.getOnlinePlayers().forEach(player -> {
if(getAPI().getGameManager().isAlive(player)) {
if(player.getVehicle() == null) getAPI().getGameManager().setAlive(player, false);
}
});
nextEvent();
}
}.runTaskLater(this.getAPI().getPlugin(), 20L);
}
}
项目:SurvivalAPI
文件:ChunkListener.java
/**
* Clean the cache
*/
@Override
public void run()
{
long currentTime = System.currentTimeMillis();
List<Map.Entry<Chunk, Long>> temp = new ArrayList<>();
temp.addAll(this.lastChunkCleanUp.entrySet());
for (Map.Entry<Chunk, Long> entry : temp)
{
Chunk chunk = entry.getKey();
if (!chunk.isLoaded() || (currentTime - entry.getValue() <= 60000))
continue;
for (Entity entity : chunk.getEntities())
if (!(entity instanceof Item || entity instanceof HumanEntity || entity instanceof Minecart))
entity.remove();
this.lastChunkCleanUp.remove(chunk);
}
}
项目:Skript
文件:MinecartData.java
@SuppressWarnings("null")
@Override
protected boolean init(final @Nullable Class<? extends Minecart> c, final @Nullable Minecart e) {
final MinecartType[] ts = MinecartType.values();
for (int i = ts.length - 1; i >= 0; i--) {
final Class<?> mc = ts[i].c;
if (mc == null)
continue;
if (e == null ? mc.isAssignableFrom(c) : mc.isInstance(e)) {
type = ts[i];
return true;
}
}
assert false;
return false;
}
项目:PopulationDensity
文件:AfkCheckTask.java
@Override
public void run() {
if (!player.isOnline()) return;
boolean kick = false;
if (player.getVehicle() instanceof Minecart) {
if (playerData.wasInMinecartLastRound) kick = true;
playerData.wasInMinecartLastRound = true;
} else {
playerData.wasInMinecartLastRound = false;
}
try {
if (playerData.lastObservedLocation != null && (playerData.lastObservedLocation.distance(player.getLocation()) < 3))
kick = true;
} catch (IllegalArgumentException ignored) {}
int playersOnline = PopulationDensity.inst.getServer().getOnlinePlayers().length;
if (!Lib.perm(player, "populationdensity.idle") && kick && ConfigData.minimumPlayersOnlineForIdleBoot <= playersOnline) {
Log.log("Kicked " + player.getName() + " for idling.");
player.kickPlayer("Kicked for idling, to make room for active players.");
return;
}
playerData.lastObservedLocation = player.getLocation();
playerData.afkCheckTaskID = PopulationDensity.inst.getServer().getScheduler().scheduleSyncDelayedTask(PopulationDensity.inst, this, 20L * 60 * ConfigData.maxIdleMinutes);
}
项目:GoldRushPlugin
文件:TrainStationLis.java
/**
* Controls chest ownership for carts.
*
* @param e The {@link InventoryMoveItemEvent} associated with the chest.
*/
@EventHandler
public void onInventoryOpening(InventoryOpenEvent e) {
Inventory inv = e.getInventory();
if (e.getPlayer() instanceof Player) {
Player p = (Player) e.getPlayer();
if (inv.getHolder() instanceof Minecart) {
Minecart cart = (Minecart) inv.getHolder();
MinecartMember<?> toCheck = MinecartMemberStore.getAt(cart.getLocation());
if (toCheck != null && !toCheck.isDerailed()) {
CartProperties cp = toCheck.getProperties();
if (!cp.getOwners().contains(p.getName().toLowerCase())) {
p.sendMessage(ChatColor.RED + "You do not own this chest!");
e.setCancelled(true);
}
}
}
}
}
项目:GoldRushMC
文件:TrainStationLis.java
/**
* This will facilitate the need to update the {@link TrainFactory#ownerStorage} list, because if the inventory changes, the instance changes.
*
* @param e The {@link InventoryMoveItemEvent} associated with the chest.
*/
@EventHandler
public void onInventoryOpening(InventoryOpenEvent e) {
Inventory inv = e.getInventory();
if(e.getPlayer() instanceof Player) {
Player p = (Player) e.getPlayer();
if(inv.getHolder() instanceof Minecart) {
Minecart cart = (Minecart) inv.getHolder();
MinecartMember<?> toCheck = MinecartMemberStore.getAt(cart.getLocation());
if(toCheck != null) {
CartProperties cp = toCheck.getProperties();
if(!cp.getOwners().contains(p.getName().toLowerCase())) {
p.sendMessage(ChatColor.RED + "You do not own this chest!");
e.setCancelled(true);
}
}
}
}
}
项目:MinecartRevolutionTags
文件:TagCommand.java
@Override
public void execute(Minecart minecart, Object parameter) {
String data = String.valueOf(parameter);
if (String.valueOf(parameter).startsWith("+")) {
TagUtils.addTag(minecart, data.replaceAll("\\+", "").trim());
} else if (String.valueOf(parameter).startsWith("-")) {
if (data.replaceAll("-", "").trim().isEmpty()) {
TagUtils.clearTags(minecart);
} else {
TagUtils.removeTag(minecart, data.replaceAll("-", "").trim());
}
} else {
TagUtils.addTag(minecart, data.trim());
}
}
项目:Arcadia-Spigot
文件:MusicalMinecartsGame.java
private void killMinecarts() {
this.getAPI().getMapRegistry().getCurrentWorld().getEntities().forEach(entity -> {
if(entity instanceof Minecart) {
entity.setMetadata("allow-exit", new FixedMetadataValue(this.getAPI().getPlugin(), true));
if(!entity.getPassengers().isEmpty()) entity.eject();
entity.remove();
}
});
}
项目:Arcadia-Spigot
文件:MusicalMinecartsGame.java
private void spawnMinecarts() {
int minecarts = this.getAPI().getGameManager().getPlayersAlive();
if(!enoughMinecarts) minecarts--;
for(int i=0; i<minecarts; i++) {
Location location = spawnLocations.get(new Random().nextInt(spawnLocations.size()));
Minecart minecart = location.getWorld().spawn(location, Minecart.class);
minecart.getWorld().playSound(minecart.getLocation(), Sound.ENTITY_CHICKEN_EGG, 1f, 1f);
minecart.setGlowing(true);
}
if(enoughMinecarts) enoughMinecarts = false;
}
项目:SurvivalAPI
文件:ChunkListener.java
/**
* Save unloaded chunk
*
* @param event Event
*/
@EventHandler
public void onChunkUnload(ChunkUnloadEvent event)
{
for (Entity entity : event.getChunk().getEntities())
if (!(entity instanceof Item || entity instanceof HumanEntity || entity instanceof Minecart))
entity.remove();
//event.setCancelled(true);
}
项目:NeverLag
文件:AntiMinecartPortal.java
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onEntityPortal(EntityPortalEvent e) {
if (!cm.isAntiMinecartPortal) {
return;
}
if (e.getEntity() instanceof Minecart) {
e.setCancelled(true);
}
}
项目:UselessCode
文件:transportation.java
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (cmd.getName().equalsIgnoreCase("cartcamera")) {
sender.sendMessage("ja hoor");
Player p = (Player) sender;
Minecart minecart = (Minecart) p.getLocation().getWorld().spawn(p.getLocation(), Minecart.class);
degree = 0;
direction = false;
rotating = false;
uploopcounter = 0;
playerpublic = (Player) sender;
Bukkit.getScheduler().scheduleSyncRepeatingTask(main.getPL(), new Runnable() {
@Override
public void run() {
if (rotating == true) {
degree++;
degree++; degree++;
degree++; degree++;
degree++;degree++;
degree++; degree++;
degree++; degree++;
degree++;
}
if (degree == 360 || degree > 360) {
degree = 0;
}
moveEntity(minecart, degree + 1 * 90);
}
}, 0, 1);
}
return false;
}
项目:RedProtect
文件:RPGlobalListener.java
@EventHandler
public void onPlayerInteract(PlayerInteractEntityEvent e) {
if (e.isCancelled()) {
return;
}
Player p = e.getPlayer();
Entity ent = e.getRightClicked();
Location l = ent.getLocation();
Region r = RedProtect.get().rm.getTopRegion(l);
if (r != null){
return;
}
if (ent instanceof ItemFrame || ent instanceof Painting) {
if (!bypassBuild(p, null, 0)) {
e.setCancelled(true);
return;
}
}
if (ent instanceof Minecart || ent instanceof Boat){
if (!RPConfig.getGlobalFlagBool(l.getWorld().getName()+".use-minecart") && !p.hasPermission("redprotect.bypass.world")) {
e.setCancelled(true);
return;
}
}
if (!RPConfig.getGlobalFlagBool(l.getWorld().getName()+".interact") && !p.hasPermission("redprotect.bypass.world") && (!(ent instanceof Player))) {
if (RPConfig.getGlobalFlagList(p.getWorld().getName() + ".if-interact-false.allow-entities").contains(ent.getType().name())){
return;
}
e.setCancelled(true);
}
}
项目:parchment
文件:ET.java
public static Parameter wtfOperation(Parameter dummy, Context ctx, LocationParameter where) {
org.bukkit.World w = where.asLocation(ctx).getWorld();
Location l = where.asLocation(ctx);
l.setPitch(100.0f);
l.setYaw(45.0f);
Minecart e = (Minecart)w.spawnEntity(l, EntityType.MINECART);
e.setPassenger(w.spawnEntity(where.asLocation(ctx), EntityType.SLIME));
return Parameter.EmptyString;
}
项目:DeinCart
文件:CartManager.java
public RoutePlayer getPlayerFromMinecart(Minecart minecart) {
for (RoutePlayer player : this.getRoutePlayers()) {
if (player.getMinecart() == minecart) {
return player;
}
}
return null;
}
项目:DeinCart
文件:CartManager.java
public boolean isDeincartInNear(Location loc) {
for (RoutePlayer player : this.getRoutePlayers()) {
Minecart minecart = player.getMinecart();
Location loc1 = minecart.getLocation();
if (
(Math.max(loc.getBlockX(), loc1.getBlockX()) - Math.min(loc.getBlockX(), loc1.getBlockX()) < 6) &&
(Math.max(loc.getBlockY(), loc1.getBlockY()) - Math.min(loc.getBlockY(), loc1.getBlockY()) < 4) &&
(Math.max(loc.getBlockZ(), loc1.getBlockZ()) - Math.min(loc.getBlockZ(), loc1.getBlockZ()) < 6)
) {
return true;
}
}
return false;
}
项目:TatsuCraftMod
文件:TFM_Util.java
private static boolean canWipe(Entity entity, boolean wipeExplosives, boolean wipeVehicles)
{
if (wipeExplosives)
{
if (Explosive.class.isAssignableFrom(entity.getClass()))
{
return true;
}
}
if (wipeVehicles)
{
if (Boat.class.isAssignableFrom(entity.getClass()))
{
return true;
}
else if (Minecart.class.isAssignableFrom(entity.getClass()))
{
return true;
}
}
Iterator<Class<? extends Entity>> it = WIPEABLES.iterator();
while (it.hasNext())
{
if (it.next().isAssignableFrom(entity.getClass()))
{
return true;
}
}
return false;
}
项目:PexelCore
文件:EventProcessor.java
@EventHandler
private void onVehicleDestroyed(final EntityDamageByEntityEvent event) {
if (event.getEntity() instanceof Minecart) {
ProtectedArea area = Areas.findArea(event.getEntity().getLocation());
if (area != null) {
if (event.getDamager() instanceof Player) {
if (!((Player) event.getDamager()).isOp()) {
event.setCancelled(true);
}
}
}
}
}
项目:PexelCore
文件:EventProcessor.java
@EventHandler
private void onVehicleMove(final VehicleMoveEvent event) {
if (event.getVehicle() instanceof Minecart) {
//ProtectedArea area = Areas.findArea(event.getVehicle().getLocation());
}
}
项目:MinecartRevolutionTags
文件:TagMinecartTerm.java
@Override
public boolean getResult(Minecart minecart, Direction direction, String term) {
String tagTerm = term.split("-")[1];
tagTerm = tagTerm.replaceAll("\\*", ".*");
for (String tag : TagUtils.getTags(minecart)) {
if (tag.matches(tagTerm)) {
return true;
}
}
return false;
}
项目:MinecartRevolutionTags
文件:TagSign.java
@Override
public void execute(Minecart minecart, String label, Sign sign) {
for (String line : Arrays.copyOfRange(sign.getLines(), 1, sign.getLines().length)) {
if (!line.isEmpty()) {
executeExpression(minecart, "tag " + line);
}
}
}
项目:FlyingTub
文件:TubFlightListener.java
@EventHandler(ignoreCancelled=true)
public final void onVehicleExit(VehicleExitEvent event) {
Vehicle cart = event.getVehicle();
if (cart.getType() == EntityType.MINECART) {
((Minecart) cart).setFlyingVelocityMod(exitedVelocityMod);
}
}
项目:Skript
文件:MinecartData.java
MinecartType(final @Nullable Class<? extends Minecart> c, final String codeName) {
this.c = c;
this.codeName = codeName;
}
项目:Skript
文件:MinecartData.java
@Override
public void set(final Minecart entity) {}
项目:Skript
文件:MinecartData.java
@Override
public boolean match(final Minecart entity) {
if (type == MinecartType.NORMAL && type.c == Minecart.class) // pre-1.5
return !(entity instanceof PoweredMinecart || entity instanceof StorageMinecart);
return type.c != null && type.c.isInstance(entity);
}
项目:Skript
文件:MinecartData.java
@Override
public Class<? extends Minecart> getType() {
return type.c != null ? type.c : Minecart.class;
}
项目:CanaryBukkit
文件:CanaryMinecart.java
public CanaryMinecart(net.canarymod.api.entity.vehicle.Minecart entity) {
super(entity);
}
项目:CanaryBukkit
文件:CanaryMinecart.java
protected net.canarymod.api.entity.vehicle.Minecart getHandle() {
return (net.canarymod.api.entity.vehicle.Minecart) super.getHandle();
}
项目:AdvancedAchievements
文件:AchieveDistanceRunnable.java
/**
* Update distances and store them into server's memory until player disconnects.
*
* @param player
*/
private void validateMovementAndUpdateDistance(Player player) {
String uuid = player.getUniqueId().toString();
Location previousLocation = playerLocations.get(uuid);
// Update new location.
playerLocations.put(uuid, player.getLocation());
// If player location not found or if player has changed world, ignore previous location.
// Evaluating distance would give an exception.
if (previousLocation == null || !previousLocation.getWorld().getName().equals(player.getWorld().getName())) {
return;
}
// If player is in restricted game mode or is in a blocked world, don't update distances.
if (!shouldIncreaseBeTakenIntoAccountNoPermissions(player)) {
return;
}
int difference = getDistanceDifference(player, previousLocation);
// Player has not moved.
if (difference == 0L) {
return;
}
if (player.getVehicle() instanceof Horse) {
updateDistance(difference, player, NormalAchievements.DISTANCEHORSE);
} else if (player.getVehicle() instanceof Pig) {
updateDistance(difference, player, NormalAchievements.DISTANCEPIG);
} else if (player.getVehicle() instanceof Minecart) {
updateDistance(difference, player, NormalAchievements.DISTANCEMINECART);
} else if (player.getVehicle() instanceof Boat) {
updateDistance(difference, player, NormalAchievements.DISTANCEBOAT);
} else if (plugin.getServerVersion() >= 11 && player.getVehicle() instanceof Llama) {
updateDistance(difference, player, NormalAchievements.DISTANCELLAMA);
} else if (!player.isFlying() && (plugin.getServerVersion() < 9 || !player.isGliding())) {
updateDistance(difference, player, NormalAchievements.DISTANCEFOOT);
} else if (plugin.getServerVersion() >= 9 && player.isGliding()) {
updateDistance(difference, player, NormalAchievements.DISTANCEGLIDING);
}
}
项目:RedProtect
文件:RPPlayerListener.java
@EventHandler(priority = EventPriority.LOWEST)
public void onEntityDamageByEntityEvent(EntityDamageByEntityEvent e) {
Player p = null;
RedProtect.get().logger.debug("RPLayerListener: Is EntityDamageByEntityEvent event");
if (e.getDamager() instanceof Player){
p = (Player)e.getDamager();
} else if (e.getDamager() instanceof Projectile){
Projectile proj = (Projectile)e.getDamager();
if (proj.getShooter() instanceof Player){
p = (Player) proj.getShooter();
}
}
if (p != null){
RedProtect.get().logger.debug("Player: " + p.getName());
} else {
RedProtect.get().logger.debug("Player: is null");
return;
}
RedProtect.get().logger.debug("Damager: " + e.getDamager().getType().name());
//check killaura or freekill
if (RPConfig.getBool("server-protection.check-killaura-freekill.enable")){
startCheckRate(p.getName());
}
Location l = e.getEntity().getLocation();
Region r = RedProtect.get().rm.getTopRegion(l);
if (r == null){
return;
}
if (RedProtect.get().tpWait.contains(p.getName())){
RedProtect.get().tpWait.remove(p.getName());
RPLang.sendMessage(p, "cmdmanager.region.tpcancelled");
}
if (e.getEntity() instanceof Player && !p.equals(e.getEntity()) && r.flagExists("pvp") && !r.canPVP((Player)e.getEntity(), p)){
RPLang.sendMessage(p, "entitylistener.region.cantpvp");
e.setCancelled(true);
}
if ((e.getEntity() instanceof Hanging || e.getEntity() instanceof EnderCrystal) && !r.canBuild(p) && !r.canBreak(e.getEntityType())){
RPLang.sendMessage(p, "playerlistener.region.cantremove");
e.setCancelled(true);
}
if ((e.getEntity() instanceof Boat || e.getEntity() instanceof Minecart) && !r.canMinecart(p)){
RPLang.sendMessage(p, "blocklistener.region.cantbreak");
e.setCancelled(true);
}
}
项目:beaconz
文件:BeaconProtectionListener.java
/**
* Projects all chests inside triangles or on beacons
* @param event
*/
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onInventoryOpen(final InventoryOpenEvent event) {
//getLogger().info("DEBUG: inventory type = " + event.getInventory().getType());
World world = event.getPlayer().getWorld();
if (!world.equals(getBeaconzWorld())) {
return;
}
// Check what type of inventory this is
if (event.getInventory().getType().equals(InventoryType.PLAYER)) {
return;
}
InventoryHolder invHolder = event.getInventory().getHolder();
Location invLoc = null;
if (invHolder instanceof Horse) {
invLoc = ((Horse) invHolder).getLocation();
} else if (invHolder instanceof Minecart) {
invLoc = ((Minecart) invHolder).getLocation();
} else {
invLoc = event.getInventory().getLocation();
}
if (invLoc == null) {
return;
}
Player player = (Player) event.getPlayer();
Game game = getGameMgr().getGame(player.getLocation());
if (game != null) {
Team team = game.getScorecard().getTeam(player);
// Check beacon defense
BeaconObj beacon = getRegister().getBeaconAt(invLoc);
if (beacon != null) {
if (!beacon.getOwnership().equals(team)) {
player.sendMessage(ChatColor.RED + Lang.triangleThisBelongsTo.replace("[team]", beacon.getOwnership().getDisplayName()));
event.setCancelled(true);
return;
}
}
// Check triangle
/*
for (TriangleField triangle : getRegister().getTriangle(invLoc.getBlockX(), invLoc.getBlockZ())) {
if (!triangle.getOwner().equals(team)) {
player.sendMessage(ChatColor.RED + Lang.triangleThisBelongsTo.replace("[team]", triangle.getOwner().getDisplayName()));
event.setCancelled(true);
return;
}
}*/
}
}
项目:DeinCart
文件:RoutePlayer.java
public RoutePlayer(Player player, Minecart minecart, Route route) {
this.player = player;
this.minecart = minecart;
this.route = route;
}
项目:DeinCart
文件:RoutePlayer.java
public Minecart getMinecart() {
return this.minecart;
}
项目:TatsuCraftMod
文件:Command_cartsit.java
@Override
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{
Player targetPlayer = sender_p;
if (args.length == 1)
{
try
{
targetPlayer = getPlayer(args[0]);
}
catch (PlayerNotFoundException ex)
{
sender.sendMessage(ex.getMessage());
return true;
}
}
if (senderIsConsole)
{
if (targetPlayer == null)
{
sender.sendMessage("When used from the console, you must define a target player: /cartsit <player>");
return true;
}
}
else if (targetPlayer != sender_p && !TFM_SuperadminList.isUserSuperadmin(sender))
{
sender.sendMessage("Only superadmins can select another player as a /cartsit target.");
return true;
}
if (targetPlayer.isInsideVehicle())
{
targetPlayer.getVehicle().eject();
}
else
{
Minecart nearest_cart = null;
for (Minecart cart : targetPlayer.getWorld().getEntitiesByClass(Minecart.class))
{
if (cart.isEmpty())
{
if (nearest_cart == null)
{
nearest_cart = cart;
}
else
{
if (cart.getLocation().distanceSquared(targetPlayer.getLocation()) < nearest_cart.getLocation().distanceSquared(targetPlayer.getLocation()))
{
nearest_cart = cart;
}
}
}
}
if (nearest_cart != null)
{
nearest_cart.setPassenger(targetPlayer);
}
else
{
sender.sendMessage("There are no empty minecarts in the target world.");
}
}
return true;
}
项目:MinecartRevolutionTags
文件:TagCommand.java
@Override
public boolean canExecute(Minecart minecart) {
return true;
}
项目:RoyalSurvivors
文件:ThirstListener.java
@EventHandler
public void oohYouTouchMyTaLaLa(PlayerMoveEvent e) {
Player p = e.getPlayer();
if (!RUtils.isInInfectedWorld(p) || p.getGameMode() == GameMode.CREATIVE) return;
if (p.getVehicle() != null && p.getVehicle() instanceof Minecart) return; // don't penalize for minecarts
Location from = e.getFrom();
Location to = e.getTo();
if (from.getX() == to.getX() && from.getY() == to.getY() && from.getZ() == to.getZ()) return; // looking around
PConfManager pcm = PConfManager.getPConfManager(p);
Float saturation = pcm.getFloat("thirstSaturation");
if (saturation == null) saturation = (float) Config.thirstSaturationMax;
if (saturation > 0F) {
if (p.isSprinting()) saturation -= Config.thirstSprint;
else if (p.isSneaking()) saturation -= Config.thirstSneak;
else saturation -= Config.thirstWalk;
if (to.getY() > from.getY() && !RUtils.isOnLadder(p)) saturation -= Config.thirstJump;
pcm.set("thirstSaturation", saturation);
return;
}
float thirst = pcm.getFloat("thirst");
if (!pcm.isSet("thirst")) thirst = 1F;
thirst *= Config.thirstMax;
if (p.isSprinting()) thirst -= Config.thirstSprint;
else if (p.isSneaking()) thirst -= Config.thirstSneak;
else thirst -= Config.thirstWalk;
Biome b = p.getLocation().getBlock().getBiome();
long time = p.getWorld().getTime();
if ((b == Biome.DESERT || b == Biome.DESERT_HILLS) && (time > 0L && time < 12000L) && !RUtils.isInShade(p))
thirst -= Config.thirstDesert;
// jump check (disregard ladders)
if (to.getY() > from.getY() && !RUtils.isOnLadder(p)) thirst -= Config.thirstJump;
if (thirst <= 0F) {
p.sendMessage(ChatColor.BLUE + "You have died of dehydration.");
p.setLastDamageCause(new EntityDamageEvent(p, EntityDamageEvent.DamageCause.CUSTOM, p.getHealth()));
p.setHealth(0);
p.setExp(1F);
pcm.set("thirst", 1F);
return;
}
thirst /= Config.thirstMax;
pcm.set("thirst", thirst);
p.setExp(thirst);
}
项目:FlyingTub
文件:TubFlightListener.java
private void fixCart(Vehicle cart) {
if (cart.getType() == EntityType.MINECART) {
((Minecart)cart).setFlyingVelocityMod(desiredVelocityMod);
}
}