Java 类org.bukkit.entity.minecart.StorageMinecart 实例源码

项目:AutomaticInventory    文件:AIEventHandler.java   
static boolean isSortableChestInventory(Inventory inventory)
{
    if(inventory == null) return false;

    InventoryType inventoryType = inventory.getType();
    if(inventoryType != InventoryType.CHEST && inventoryType != InventoryType.ENDER_CHEST) return false;

    String name = inventory.getName();
    if(name != null && name.contains("*")) return false;

    InventoryHolder holder = inventory.getHolder();
    if(holder == null || !(holder instanceof Chest || holder instanceof DoubleChest || holder instanceof StorageMinecart)) return false;

    return true;
}
项目:DDCustomPlugin    文件:AutoConfiscate.java   
@EventHandler
public void scanMinecart(PlayerInteractEntityEvent event) {
    Entity mc = event.getRightClicked();
    if (mc instanceof StorageMinecart){
        scanInventory(event.getPlayer(), ((StorageMinecart) mc).getInventory());
    }
}
项目:BCProtect    文件:InventoryListener.java   
@EventHandler (ignoreCancelled = true)
public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {

    Entity entity;

    if ((entity = event.getRightClicked()) instanceof StorageMinecart) {

        if (! Util.checkPermission((Player)event.getPlayer(),
                ((StorageMinecart) entity).getLocation(BCProtect.location),
                "openchest")) {
            event.setCancelled(true);
        }
    }
}
项目:SmartCart    文件:SmartCartVehicle.java   
public boolean isStorageMinecart() {
  return getCart() instanceof StorageMinecart;
}
项目:AncientGates    文件:TeleportUtil.java   
public static void teleportVehicle() {
    final List<BungeeQueue> vehicleQueue = Plugin.bungeeCordVehicleInQueue;
    final Iterator<BungeeQueue> it = vehicleQueue.iterator();

    while (it.hasNext()) {
        final BungeeQueue queue = it.next();

        // Spawn incoming BungeeCord vehicle
        final Location destination = queue.getDestination();
        final World world = destination.getWorld();
        checkChunkLoad(destination.getBlock());

        Entity entity = null;
        String entityItemStack = null;

        // Parse passenger info
        if (queue.getQueueType() == BungeeQueueType.PASSENGER) {
            if (queue.getEntityType().isSpawnable()) {
                entity = world.spawnEntity(destination, queue.getEntityType());
                EntityUtil.setEntityTypeData(entity, queue.getEntityTypeData());
                entity.teleport(destination);
            }
            // Parse vehicle contents
        } else if (queue.getItemStack() != null) {
            entityItemStack = queue.getItemStack();
        }
        final Entity passenger = entity;

        // Create new velocity
        final Vector newVelocity = destination.getDirection();
        newVelocity.multiply(queue.getVelocity());

        if (passenger != null) {
            final Vehicle v = (Vehicle) world.spawnEntity(destination, queue.getVehicleType());
            Plugin.instance.getServer().getScheduler().scheduleSyncDelayedTask(Plugin.instance, new Runnable() {
                @Override
                public void run() {
                    v.setPassenger(passenger);
                    v.setVelocity(newVelocity);
                }
            }, 2);
        } else {
            final Vehicle mc = (Vehicle) world.spawnEntity(destination, queue.getVehicleType());
            if (mc instanceof StorageMinecart && entityItemStack != null) {
                final StorageMinecart smc = (StorageMinecart) mc;
                smc.getInventory().setContents(ItemStackUtil.stringToItemStack(entityItemStack));
            } else if (mc instanceof HopperMinecart && entityItemStack != null) {
                final HopperMinecart hmc = (HopperMinecart) mc;
                hmc.getInventory().setContents(ItemStackUtil.stringToItemStack(entityItemStack));
            }
            mc.setVelocity(newVelocity);
        }

        // Remove from queue
        it.remove();
    }
}