Java 类org.bukkit.metadata.MetadataValue 实例源码

项目:PhantomAdmin    文件:PlayerData.java   
static PlayerData FromPlayer(Player player)
{
    List<MetadataValue> data = player.getMetadata(METADATA_TAG);
    if(data == null || data.isEmpty())
    {
        return new PlayerData(player);
    }
    else
    {
        try
        {
            PlayerData playerData = (PlayerData)(data.get(0).value());
            return playerData;
        }
        catch(Exception e)
        {
            return new PlayerData(player);
        }
    }
}
项目:MapManager    文件:MapInteractEvent.java   
/**
 * @return the {@link MapWrapper} of the clicked frame
 */
public MapWrapper getMapWrapper() {
    if (this.mapWrapper != null) { return this.mapWrapper; }
    ItemFrame itemFrame = getItemFrame();
    if (itemFrame != null) {
        if (itemFrame.hasMetadata("MAP_WRAPPER_REF")) {
            List<MetadataValue> metadataValues = itemFrame.getMetadata("MAP_WRAPPER_REF");
            for (MetadataValue value : metadataValues) {
                MapWrapper wrapper = (MapWrapper) value.value();
                if (wrapper != null) {
                    return this.mapWrapper = wrapper;
                }
            }
        }
    }
    return null;
}
项目:DiamondGuarantee    文件:PlayerData.java   
static PlayerData FromPlayer(Player player)
{
    List<MetadataValue> data = player.getMetadata(METADATA_TAG);
    if(data == null || data.isEmpty())
    {
        return new PlayerData(player);
    }
    else
    {
        try
        {
            PlayerData playerData = (PlayerData)(data.get(0).value());
            return playerData;
        }
        catch(Exception e)
        {
            return new PlayerData(player);
        }
    }
}
项目:Skellett    文件:ExprMetadata.java   
@Override
public void change(Event e, Object[] delta, Changer.ChangeMode mode){
    if (object.getSingle(e) instanceof Metadatable) {
        Metadatable metadata = (Metadatable)object.getSingle(e);
        if (mode == ChangeMode.SET) {
            if (metadata.hasMetadata(string.getSingle(e))) {
                metadata.removeMetadata(string.getSingle(e), Skellett.plugin);
            }
            metadata.setMetadata(string.getSingle(e), (MetadataValue)new FixedMetadataValue(Skellett.plugin, (Object)(delta[0])));
        } else if (mode == ChangeMode.RESET || mode == ChangeMode.DELETE) {
            if (metadata.hasMetadata(string.getSingle(e))) {
                metadata.removeMetadata(string.getSingle(e), Skellett.plugin);
            }
        }
    }
}
项目:UndineMailer    文件:MailSenderPlayer.java   
/**
 * 真偽値のメタデータを取得する
 * @param key キー
 * @return 値
 * @see org.bitbucket.ucchy.undine.sender.MailSender#getBooleanMetadata(java.lang.String)
 */
@Override
public boolean getBooleanMetadata(String key) {
    if ( offline == null ) {
        offline = getOfflinePlayer();
    }
    if ( !offline.isOnline() ) {
        return false;
    }
    List<MetadataValue> values = offline.getPlayer().getMetadata(key);
    if ( values.size() == 0 ) {
        return false;
    }
    return values.get(0).asBoolean();

}
项目:ArmorStandTools    文件:MainListener.java   
private ArmorStand getArmorStand(Block b) {
    UUID uuid = null;
    for (MetadataValue value : b.getMetadata("armorStand")) {
        if (value.getOwningPlugin() == plugin) {
            uuid = (UUID) value.value();
        }
    }
    b.removeMetadata("armorStand", plugin);
    if (uuid != null) {
        for(org.bukkit.entity.Entity e : b.getWorld().getEntities()) {
            if(e instanceof ArmorStand && e.getUniqueId().equals(uuid)) {
                return (ArmorStand) e;
            }
        }
    }
    return null;
}
项目:Uranium    文件:BlockMetadataStore.java   
/**
 * Retrieves the metadata for a {@link Block}, ensuring the block being asked for actually belongs to this BlockMetadataStore's
 * owning world.
 * @see MetadataStoreBase#getMetadata(Object, String)
 */
@Override
public List<MetadataValue> getMetadata(Block block, String metadataKey) {
    if(block.getWorld() == owningWorld) {
        return super.getMetadata(block, metadataKey);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:Uranium    文件:BlockMetadataStore.java   
/**
 * Sets or overwrites a metadata value on a {@link Block} from a given {@link Plugin}, ensuring the target block belongs
 * to this BlockMetadataStore's owning world.
 * @see MetadataStoreBase#setMetadata(Object, String, org.bukkit.metadata.MetadataValue)
 */
@Override
public void setMetadata(Block block, String metadataKey, MetadataValue newMetadataValue) {
    if(block.getWorld() == owningWorld) {
        super.setMetadata(block, metadataKey, newMetadataValue);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:AntiCheat    文件:Metadatas.java   
public static Object getMetadata(JavaPlugin plugin, Metadatable object, String key)
{
    List<MetadataValue> values = object.getMetadata(key);
    for (MetadataValue value : values)
    {
        if (value.getOwningPlugin().equals(plugin))
        {
            return value.value();
        }
    }

    return null;
}
项目:ProjectAres    文件:PlayerServerChanger.java   
@EventHandler(priority = EventPriority.LOWEST)
public void onQuit(PlayerQuitEvent event) {
    final MetadataValue future = event.getPlayer().getMetadata(METADATA_KEY, plugin);
    if(future != null) {
        ((SettableFuture) future.value()).set(null);
    }
}
项目:Kineticraft    文件:MetadataManager.java   
/**
 * Set a metadata value.
 * @param metadata - The object to set the metadata of.
 * @param key - The key to index the metadata by.
 * @param o - The object value to set.
 */
public static void setMetadata(Metadatable metadata, String key, Object o) {
    if (o instanceof MetadataValue)
        o = ((MetadataValue) o).value();
    if (o instanceof Enum<?>)
        o = ((Enum<?>) o).name();
    metadata.setMetadata(key, new FixedMetadataValue(Core.getInstance(), o));
}
项目:HCFCore    文件:FactionListener.java   
private long getLastLandChangedMeta(Player player) {
    List<MetadataValue> value = player.getMetadata(LAND_CHANGED_META_KEY);
    long millis = System.currentTimeMillis();
    long remaining = value == null || value.isEmpty() ? 0L : value.get(0).asLong() - millis;
    if (remaining <= 0L) { // update the metadata.
        player.setMetadata(LAND_CHANGED_META_KEY, new FixedMetadataValue(plugin, millis + LAND_CHANGE_MSG_THRESHOLD));
    }

    return remaining;
}
项目:HCFCore    文件:InvincibilityTimer.java   
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onItemPickup(PlayerPickupItemEvent event) {
    Player player = event.getPlayer();
    long remaining = getRemaining(player);
    if (remaining > 0L) {
        UUID itemUUID = event.getItem().getUniqueId();
        Long delay = itemUUIDPickupDelays.get(itemUUID);
        if (delay == null)
            return;

        // The item has been spawned for over the required pickup time for
        // PVP Protected players, let them pick it up.
        long millis = System.currentTimeMillis();
        if ((delay - millis) > 0L) {
            event.setCancelled(true);

            // Don't let the pickup event spam the player.
            List<MetadataValue> value = player.getMetadata(ITEM_PICKUP_MESSAGE_META_KEY);
            if (value != null && !value.isEmpty() && value.get(0).asLong() - millis <= 0L) {
                player.setMetadata(ITEM_PICKUP_MESSAGE_META_KEY, new FixedMetadataValue(plugin, millis + ITEM_PICKUP_MESSAGE_DELAY));
                player.sendMessage(ChatColor.RED + "You cannot pick this item up for another " + ChatColor.BOLD + DurationFormatUtils.formatDurationWords(remaining, true, true) + ChatColor.RED
                        + " as your " + getDisplayName() + ChatColor.RED + " timer is active [" + ChatColor.BOLD + DurationFormatter.getRemaining(remaining, true, false) + ChatColor.RED
                        + " remaining]");
            }
        } else
            itemUUIDPickupDelays.remove(itemUUID);
    }
}
项目:HCFCore    文件:FactionListener.java   
private long getLastLandChangedMeta(Player player) {
    List<MetadataValue> value = player.getMetadata(LAND_CHANGED_META_KEY);
    long millis = System.currentTimeMillis();
    long remaining = value == null || value.isEmpty() ? 0L : value.get(0).asLong() - millis;
    if (remaining <= 0L) { // update the metadata.
        player.setMetadata(LAND_CHANGED_META_KEY, new FixedMetadataValue(plugin, millis + LAND_CHANGE_MSG_THRESHOLD));
    }

    return remaining;
}
项目:HCFCore    文件:InvincibilityTimer.java   
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onItemPickup(PlayerPickupItemEvent event) {
    Player player = event.getPlayer();
    long remaining = getRemaining(player);
    if (remaining > 0L) {
        UUID itemUUID = event.getItem().getUniqueId();
        Long delay = itemUUIDPickupDelays.get(itemUUID);
        if (delay == null)
            return;

        // The item has been spawned for over the required pickup time for
        // PVP Protected players, let them pick it up.
        long millis = System.currentTimeMillis();
        if ((delay - millis) > 0L) {
            event.setCancelled(true);

            // Don't let the pickup event spam the player.
            List<MetadataValue> value = player.getMetadata(ITEM_PICKUP_MESSAGE_META_KEY);
            if (value != null && !value.isEmpty() && value.get(0).asLong() - millis <= 0L) {
                player.setMetadata(ITEM_PICKUP_MESSAGE_META_KEY, new FixedMetadataValue(plugin, millis + ITEM_PICKUP_MESSAGE_DELAY));
                player.sendMessage(ChatColor.RED + "You cannot pick this item up for another " + ChatColor.BOLD + DurationFormatUtils.formatDurationWords(remaining, true, true) + ChatColor.RED
                        + " as your " + getDisplayName() + ChatColor.RED + " timer is active [" + ChatColor.BOLD + DurationFormatter.getRemaining(remaining, true, false) + ChatColor.RED
                        + " remaining]");
            }
        } else
            itemUUIDPickupDelays.remove(itemUUID);
    }
}
项目:ArchersBattle    文件:Skill.java   
private static String getMetadataValue(List<MetadataValue> values) {
    String text = null;
    for (MetadataValue v : values) {
        if (v.getOwningPlugin().getName().equalsIgnoreCase(Main.getInstance().getName())) {
            text = (String) v.value();
            break;
        }
    }
    return text;
}
项目:BukkitPluginDevelopment    文件:Main.java   
/**
 * キャストが要らない取得の例示
 * @param value 取得する値
 */
@SuppressWarnings("unused")
private void get(MetadataValue value) {
    value.asBoolean(); // boolean
    value.asByte(); // byte
    value.asDouble(); // double
    value.asFloat(); // float
    value.asInt(); // int
    value.asLong(); // long
    value.asShort(); // short
    value.asString(); // String
}
项目:ThermosRebased    文件:BlockMetadataStore.java   
/**
 * Retrieves the metadata for a {@link Block}, ensuring the block being asked for actually belongs to this BlockMetadataStore's
 * owning world.
 * @see MetadataStoreBase#getMetadata(Object, String)
 */
@Override
public List<MetadataValue> getMetadata(Block block, String metadataKey) {
    if(block.getWorld() == owningWorld) {
        return super.getMetadata(block, metadataKey);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:ThermosRebased    文件:BlockMetadataStore.java   
/**
 * Sets or overwrites a metadata value on a {@link Block} from a given {@link Plugin}, ensuring the target block belongs
 * to this BlockMetadataStore's owning world.
 * @see MetadataStoreBase#setMetadata(Object, String, org.bukkit.metadata.MetadataValue)
 */
@Override
public void setMetadata(Block block, String metadataKey, MetadataValue newMetadataValue) {
    if(block.getWorld() == owningWorld) {
        super.setMetadata(block, metadataKey, newMetadataValue);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:AutomaticInventory    文件:PlayerData.java   
static PlayerData FromPlayer(Player player)
{
    List<MetadataValue> data = player.getMetadata(METADATA_TAG);
    if(data == null || data.isEmpty())
    {
        return new PlayerData(player);
    }
    else
    {
        PlayerData playerData = (PlayerData)(data.get(0).value());
        return playerData;
    }
}
项目:AnnihilationPro    文件:Transporter.java   
public UUID getBlocksOwner(Block b)
{
    List<MetadataValue> list = b.getMetadata("Owner");
    if(list == null || list.isEmpty())
        return null;
    return UUID.fromString(list.get(0).asString());
}
项目:AnnihilationPro    文件:MapBuilder.java   
@EventHandler(priority=EventPriority.HIGH)
public void nexusHelperCheck(PlayerInteractEvent event)
{
    if(event.getAction() == Action.LEFT_CLICK_AIR || event.getAction() == Action.LEFT_CLICK_BLOCK
            || event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK)
    {
        final Player player = event.getPlayer();
        TeamBlock t = null;
        if(KitUtils.itemHasName(player.getItemInHand(), TeamBlock.Red.getName()))
            t = TeamBlock.Red;
        else if(KitUtils.itemHasName(player.getItemInHand(), TeamBlock.Blue.getName()))
            t = TeamBlock.Blue;
        else if(KitUtils.itemHasName(player.getItemInHand(), TeamBlock.Green.getName()))
            t = TeamBlock.Green;
        else if(KitUtils.itemHasName(player.getItemInHand(), TeamBlock.Yellow.getName()))
            t = TeamBlock.Yellow;
        if(t != null)
        {
            //They made a click with a team block
            event.setCancelled(true);
            List<MetadataValue> vals = player.getMetadata("TeamHandler");
            if(vals != null && vals.size() == 1)
            {
                Object obj = vals.get(0).value();
                if(obj != null && obj instanceof TeamBlockHandler)
                {
                    ((TeamBlockHandler)obj).onBlockClick(player, t.Team, event.getAction(), event.getClickedBlock(),event.getBlockFace());
                }
            }
        }
    }
}
项目:QuestManager    文件:Enemy.java   
@EventHandler
public void onEnemyDeath(EntityDeathEvent e) {
    if (!QuestManagerPlugin.questManagerPlugin.getPluginConfiguration().getWorlds().contains(
            e.getEntity().getWorld().getName()))
        return;

    List<MetadataValue> metas = e.getEntity().getMetadata(CLASS_META_KEY);
    if (metas == null || metas.isEmpty()) {
        return;
    }


    //eliminate those that have a different EntityType right away, for performance
    if (e.getEntityType() != this.type) {
        return;
    }
    for (MetadataValue meta : metas) {
        if (!meta.getOwningPlugin().getName().equals(QuestManagerPlugin.questManagerPlugin.getName())) {
            continue;
        }

        //same plugin and same key. Use it.
        if (meta.asString().equals(enemyClassID)) {
            EnemyDeathEvent event = new EnemyDeathEvent(spawningRegion, e);
            Bukkit.getPluginManager().callEvent(event);
            handleDeath(e);
            return;
        }
    }

}
项目:Janitor    文件:XrayCatcher.java   
@EventHandler
public void breakblock(BlockBreakEvent event) {
    if (event.isCancelled()) {
        return;
    }
    if (event.getBlock().getType() != Material.DIAMOND_ORE) {
        return;
    }
    if (event.getBlock().hasMetadata("AlreadyDone")) {
        return;
    }
    Player player = event.getPlayer();
    if (this.lastPatch.containsKey(player.getUniqueId())) {
        Long time = this.lastPatch.get(player.getUniqueId());
        Long maxtime = (long)this.janitor.getMainConfig().getConfig().getInt("xrayduration") * 1000;
        if (UtilTime.nowlong() - time < maxtime) {
            for (Player staff : this.xrayCatcher) {
                staff.sendMessage(String.valueOf(Janitor.PREFIX) + C.Reset + player.getName() + C.Gray + " might be using " + C.Blue + "Xray");
            }
        }
    }
    int x = -7;
    while (x < 7) {
        int y = -7;
        while (y < 7) {
            int z = -7;
            while (z < 7) {
                Location location = event.getBlock().getLocation().add((double)x, (double)y, (double)z);
                if (location.getBlock().getType() == Material.DIAMOND_ORE) {
                    location.getBlock().setMetadata("AlreadyDone", (MetadataValue)new FixedMetadataValue((Plugin)this.janitor, (Object)true));
                }
                ++z;
            }
            ++y;
        }
        ++x;
    }
    this.lastPatch.put(player.getUniqueId(), UtilTime.nowlong());
}
项目:Janitor    文件:XrayCatcher.java   
@EventHandler
public void blockplace(BlockPlaceEvent event) {
    if (event.isCancelled()) {
        return;
    }
    if (event.getBlock().getType() != Material.DIAMOND_ORE) {
        return;
    }
    event.getBlock().setMetadata("AlreadyDone", (MetadataValue)new FixedMetadataValue((Plugin)this.janitor, (Object)true));
}
项目:Brynhildr    文件:BlockMetadataStore.java   
/**
 * Retrieves the metadata for a {@link Block}, ensuring the block being asked for actually belongs to this BlockMetadataStore's
 * owning world.
 * @see MetadataStoreBase#getMetadata(Object, String)
 */
@Override
public List<MetadataValue> getMetadata(Block block, String metadataKey) {
    if(block.getWorld() == owningWorld) {
        return super.getMetadata(block, metadataKey);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:Brynhildr    文件:BlockMetadataStore.java   
/**
 * Sets or overwrites a metadata value on a {@link Block} from a given {@link Plugin}, ensuring the target block belongs
 * to this BlockMetadataStore's owning world.
 * @see MetadataStoreBase#setMetadata(Object, String, MetadataValue)
 */
@Override
public void setMetadata(Block block, String metadataKey, MetadataValue newMetadataValue) {
    if(block.getWorld() == owningWorld) {
        super.setMetadata(block, metadataKey, newMetadataValue);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:Pokkit    文件:PokkitEntity.java   
@Override
public List<MetadataValue> getMetadata(String metadataKey) {
    List<MetadataValue> bukkitList = new ArrayList<MetadataValue>();
    if (nukkit.getMetadata(metadataKey) != null) {
        nukkit.getMetadata(metadataKey).forEach((value) -> bukkitList.add(PokkitMetadataValue.toBukkit(value)));
    }
    return bukkitList;
}
项目:Skellett    文件:ExprMetadata.java   
@Override
@Nullable
protected Object[] get(Event e) {   
    Metadatable metadata;
    if (object.getSingle(e) instanceof Metadatable && (metadata = (Metadatable)object.getSingle(e)).hasMetadata(string.getSingle(e))) {
        return new Object[]{((MetadataValue)metadata.getMetadata(string.getSingle(e)).iterator().next()).value()};
    }
    return null;
}
项目:BloodMoon    文件:BloodMoon.java   
/**
 * Gets the reason that an entity spawned. Note that these reasons are reset
 * when the server restarts.
 *
 * @param entity The entity
 * @return The {@link SpawnReason}
 */
public SpawnReason getSpawnReason(Entity entity) {
    for (MetadataValue value : entity.getMetadata("spawn-reason")) {
        if (value.getOwningPlugin() instanceof BloodMoon) {
            return (SpawnReason) value.value();
        }
    }

    return SpawnReason.DEFAULT;
}
项目:NPCs    文件:CommandsHandler.java   
@EventHandler(priority = EventPriority.LOW)
public void leftClick(EntityDamageByEntityEvent event) {
  if (!(event.getDamager() instanceof Player)) {
    return;
  }
  List<MetadataValue> list = event.getEntity().getMetadata(cmdsMetadata);
  if (!list.isEmpty()) {
    if (list.get(0).value() instanceof Commands) {
      event.setCancelled(true);
      ((Commands) list.get(0).value()).click((Player) event.getDamager(), true);
    }
  }
}
项目:UndineMailer    文件:MailSenderPlayer.java   
/**
 * 文字列のメタデータを取得する
 * @param key キー
 * @return 値
 * @see org.bitbucket.ucchy.undine.sender.MailSender#getStringMetadata(java.lang.String)
 */
@Override
public String getStringMetadata(String key) {
    if ( offline == null ) {
        offline = getOfflinePlayer();
    }
    if ( !offline.isOnline() ) {
        return null;
    }
    List<MetadataValue> values = offline.getPlayer().getMetadata(key);
    if ( values.size() == 0 ) {
        return null;
    }
    return values.get(0).asString();
}
项目:WhiteEggCore    文件:WhiteEggReplayCommand.java   
@Override
public boolean onCommand(WhiteCommandSender sender, Command cmd, String label, String[] args) {
    if (!sender.hasPermission(permission)) {
        sender.sendMessage(msg.getMessage(sender, error_Permission, "", true));
        return true;
    }
    if (args.length == 0) {
        sendUsing((WhitePlayer) sender);
        return true;
    }

    WhitePlayer player = (WhitePlayer) sender;
    if(!player.getPlayer().hasMetadata("replay")){
        sendUsing((WhitePlayer) sender);
        return true;
    }
    List<MetadataValue> meta = player.getPlayer().getMetadata("replay");
    WhitePlayer target = WhiteEggAPI.getPlayer(meta.get(0).asString());
    if (target == null) {
        player.sendMessage(msg.getMessage(player, error_Player, msgPrefix, true));
        return true;
    }
    String message = Util.build(args, 0);
    target.sendMessage(replace(msg.getMessage(target, key + ".format", "", true), player, target, message, true));
    player.sendMessage(replace(msg.getMessage(player, key + ".format", "", true), player, target, message, false));
    target.getPlayer().playSound(target.getPlayer().getLocation(), Sound.CHICKEN_EGG_POP, 1, 1);
    return false;
}
项目:CraftBukkit    文件:BlockMetadataStore.java   
/**
 * Sets or overwrites a metadata value on a {@link Block} from a given {@link Plugin}, ensuring the target block belongs
 * to this BlockMetadataStore's owning world.
 * @see MetadataStoreBase#setMetadata(Object, String, org.bukkit.metadata.MetadataValue)
 */
@Override
public void setMetadata(Block block, String metadataKey, MetadataValue newMetadataValue) {
    if(block.getWorld() == owningWorld) {
        super.setMetadata(block, metadataKey, newMetadataValue);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:Thermos    文件:BlockMetadataStore.java   
/**
 * Retrieves the metadata for a {@link Block}, ensuring the block being asked for actually belongs to this BlockMetadataStore's
 * owning world.
 * @see MetadataStoreBase#getMetadata(Object, String)
 */
@Override
public List<MetadataValue> getMetadata(Block block, String metadataKey) {
    if(block.getWorld() == owningWorld) {
        return super.getMetadata(block, metadataKey);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:KCauldron    文件:BlockMetadataStore.java   
/**
 * Sets or overwrites a metadata value on a {@link Block} from a given {@link Plugin}, ensuring the target block belongs
 * to this BlockMetadataStore's owning world.
 * @see MetadataStoreBase#setMetadata(Object, String, org.bukkit.metadata.MetadataValue)
 */
@Override
public void setMetadata(Block block, String metadataKey, MetadataValue newMetadataValue) {
    if(block.getWorld() == owningWorld) {
        super.setMetadata(block, metadataKey, newMetadataValue);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:CraftBukkit    文件:BlockMetadataStore.java   
/**
 * Retrieves the metadata for a {@link Block}, ensuring the block being asked for actually belongs to this BlockMetadataStore's
 * owning world.
 * @see MetadataStoreBase#getMetadata(Object, String)
 */
@Override
public List<MetadataValue> getMetadata(Block block, String metadataKey) {
    if(block.getWorld() == owningWorld) {
        return super.getMetadata(block, metadataKey);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:CauldronGit    文件:BlockMetadataStore.java   
/**
 * Retrieves the metadata for a {@link Block}, ensuring the block being asked for actually belongs to this BlockMetadataStore's
 * owning world.
 * @see MetadataStoreBase#getMetadata(Object, String)
 */
@Override
public List<MetadataValue> getMetadata(Block block, String metadataKey) {
    if(block.getWorld() == owningWorld) {
        return super.getMetadata(block, metadataKey);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:CauldronGit    文件:BlockMetadataStore.java   
/**
 * Sets or overwrites a metadata value on a {@link Block} from a given {@link Plugin}, ensuring the target block belongs
 * to this BlockMetadataStore's owning world.
 * @see MetadataStoreBase#setMetadata(Object, String, org.bukkit.metadata.MetadataValue)
 */
@Override
public void setMetadata(Block block, String metadataKey, MetadataValue newMetadataValue) {
    if(block.getWorld() == owningWorld) {
        super.setMetadata(block, metadataKey, newMetadataValue);
    } else {
        throw new IllegalArgumentException("Block does not belong to world " + owningWorld.getName());
    }
}
项目:NPCs    文件:CommandsHandler.java   
@EventHandler(priority = EventPriority.LOW)
public void rightClick(PlayerInteractEntityEvent event) {
  List<MetadataValue> list = event.getRightClicked().getMetadata(cmdsMetadata);
  if (!list.isEmpty()) {
    if (list.get(0).value() instanceof Commands) {
      event.setCancelled(true);
      ((Commands) list.get(0).value()).click(event.getPlayer(), false);
    }
  }
}