org.bukkit.metadata.MetadataValue类的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(7.8k)|赞(0)|评价(0)|浏览(87)

本文整理了Java中org.bukkit.metadata.MetadataValue类的一些代码示例,展示了MetadataValue类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MetadataValue类的具体详情如下:
包路径:org.bukkit.metadata.MetadataValue
类名称:MetadataValue

MetadataValue介绍

暂无

代码示例

代码示例来源:origin: Bukkit/Bukkit

Plugin owningPlugin = newMetadataValue.getOwningPlugin();
Validate.notNull(owningPlugin, "Plugin cannot be null");
String key = disambiguate(subject, metadataKey);

代码示例来源:origin: Bukkit/Bukkit

/**
 * Invalidates all metadata in the metadata store that originates from the
 * given plugin. Doing this will force each invalidated metadata item to
 * be recalculated the next time it is accessed.
 *
 * @param owningPlugin the plugin requesting the invalidation.
 * @see MetadataStore#invalidateAll(org.bukkit.plugin.Plugin)
 * @throws IllegalArgumentException If plugin is null
 */
public synchronized void invalidateAll(Plugin owningPlugin) {
  Validate.notNull(owningPlugin, "Plugin cannot be null");
  for (Map<Plugin, MetadataValue> values : metadataMap.values()) {
    if (values.containsKey(owningPlugin)) {
      values.get(owningPlugin).invalidate();
    }
  }
}

代码示例来源:origin: garbagemule/MobArena

private Player getPlanter(Metadatable tnt) {
  List<MetadataValue> values = tnt.getMetadata("mobarena-planter");
  for (MetadataValue value : values) {
    if (value.getOwningPlugin().equals(plugin)) {
      return (Player) value.value();
    }
  }
  return null;
}

代码示例来源:origin: EngineHub/CommandHelper

@Override
public Object value() {
  return this.value.value();
}

代码示例来源:origin: seeseemelk/MockBukkit

@Test
public void getMetadata_MultipleMetaDataSetByMultiplePlugins_TwoMetadataValuesFound()
{
  MockPlugin plugin1 = MockBukkit.createMockPlugin();
  TestPlugin plugin2 = MockBukkit.load(TestPlugin.class);
  assertFalse(mt.hasMetadata("MyMetadata"));
  mt.setMetadata("MyMetadata", new FixedMetadataValue(plugin1, "wee"));
  mt.setMetadata("MyMetadata", new FixedMetadataValue(plugin1, "woo"));
  mt.setMetadata("MyMetadata", new FixedMetadataValue(plugin2, "also wee"));
  assertTrue(mt.hasMetadata("MyMetadata"));
  List<MetadataValue> metadata = mt.getMetadata("MyMetadata");
  assertEquals(2, metadata.size());
  MetadataValue value1 = metadata.get(0);
  MetadataValue value2 = metadata.get(1);
  if (value1.getOwningPlugin() == plugin2)
  {
    value2 = value1;
    value1 = metadata.get(1);
  }
  assertEquals("woo", value1.asString());
  assertEquals(plugin1, value1.getOwningPlugin());
  assertEquals("also wee", value2.asString());
  assertEquals(plugin2, value2.getOwningPlugin());
}

代码示例来源:origin: EngineHub/CommandHelper

@Override
public String asString() {
  return this.value.asString();
}

代码示例来源:origin: mcMMO-Dev/mcMMO

public MobHealthDisplayUpdaterTask(LivingEntity target) {
  if (target.isValid()) {
    this.target = target;
    this.oldName = target.getMetadata(mcMMO.customNameKey).get(0).asString();
    this.oldNameVisible = target.getMetadata(mcMMO.customVisibleKey).get(0).asBoolean();
  }
}

代码示例来源:origin: EngineHub/CommandHelper

@Override
public boolean asBoolean() {
  return this.value.asBoolean();
}

代码示例来源:origin: EngineHub/CommandHelper

@Override
public double asDouble() {
  return this.value.asDouble();
}

代码示例来源:origin: xXKeyleXx/MyPet

@SuppressWarnings("unchecked")
public static double getDamageToEntity(LivingEntity damager, LivingEntity victim) {
  for (MetadataValue value : victim.getMetadata("DamageCount")) {
    if (value.getOwningPlugin().getName().equals("MyPet")) {
      Map<UUID, Double> damageMap = (Map<UUID, Double>) value.value();
      if (damageMap.containsKey(damager.getUniqueId())) {
        return damageMap.get(damager.getUniqueId());
      }
      return 0;
    }
  }
  return 0;
}

代码示例来源:origin: games647/ScoreboardStats

public Optional<PlayerStats> getStats(Player request) {
  if (request != null) {
    for (MetadataValue metadata : request.getMetadata(METAKEY)) {
      if (metadata.value() instanceof PlayerStats) {
        return Optional.of((PlayerStats) metadata.value());
      }
    }
  }
  return Optional.empty();
}

代码示例来源:origin: mcMMO-Dev/mcMMO

private Player getPlayerFromFurnace(Block furnaceBlock) {
    List<MetadataValue> metadata = furnaceBlock.getMetadata(mcMMO.furnaceMetadataKey);

    if (metadata.isEmpty()) {
      return null;
    }

    return plugin.getServer().getPlayerExact(metadata.get(0).asString());
  }
}

代码示例来源:origin: mcMMO-Dev/mcMMO

/**
 * Monitor EntityDeath events.
 *
 * @param event
 *            The event to watch
 */
@EventHandler(priority = EventPriority.LOWEST)
public void onEntityDeathLowest(EntityDeathEvent event) {
  /* WORLD BLACKLIST CHECK */
  if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
    return;
  LivingEntity entity = event.getEntity();
  if (Misc.isNPCEntity(entity)) {
    return;
  }
  if (entity.hasMetadata(mcMMO.customNameKey)) {
    entity.setCustomName(entity.getMetadata(mcMMO.customNameKey).get(0).asString());
    entity.removeMetadata(mcMMO.customNameKey, plugin);
  }
  if (entity.hasMetadata(mcMMO.customVisibleKey)) {
    entity.setCustomNameVisible(entity.getMetadata(mcMMO.customVisibleKey).get(0).asBoolean());
    entity.removeMetadata(mcMMO.customVisibleKey, plugin);
  }
  if (entity.hasMetadata(mcMMO.entityMetadataKey)) {
    entity.removeMetadata(mcMMO.entityMetadataKey, plugin);
  }
}

代码示例来源:origin: marcelo-mason/PreciousStones

public boolean isVanished(Player player) {
  List<MetadataValue> values = player.getMetadata("vanished");
  for (MetadataValue value : values) {
    if (value.asBoolean()) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: mcMMO-Dev/mcMMO

private static void processArcheryCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event, Arrow arrow) {
  double initialDamage = event.getDamage();
  double finalDamage = initialDamage;
  McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
  ArcheryManager archeryManager = mcMMOPlayer.getArcheryManager();
  if (target instanceof Player && PrimarySkillType.UNARMED.getPVPEnabled()) {
    UnarmedManager unarmedManager = UserManager.getPlayer((Player) target).getUnarmedManager();
    if (unarmedManager.canDeflect()) {
      event.setCancelled(unarmedManager.deflectCheck());
      if (event.isCancelled()) {
        return;
      }
    }
  }
  if (archeryManager.canSkillShot()) {
    finalDamage += archeryManager.skillShot(initialDamage);
  }
  if (archeryManager.canDaze(target)) {
    finalDamage += archeryManager.daze((Player) target);
  }
  if (!arrow.hasMetadata(mcMMO.infiniteArrowKey) && archeryManager.canRetrieveArrows()) {
    archeryManager.retrieveArrows(target);
  }
  archeryManager.distanceXpBonus(target, arrow);
  applyScaledModifiers(initialDamage, finalDamage, event);
  startGainXp(mcMMOPlayer, target, PrimarySkillType.ARCHERY, arrow.getMetadata(mcMMO.bowForceKey).get(0).asDouble());
}

代码示例来源:origin: EngineHub/WorldGuard

/**
 * Get the (first) metadata value on the given target that has the given
 * key and is of the given class type.
 *
 * @param target the target
 * @param key the key
 * @param expected the type of the value
 * @param <T> the type of the value
 * @return a value, or {@code null} if one does not exists
 */
@Nullable
@SuppressWarnings("unchecked")
public static <T> T getIfPresent(Metadatable target, String key, Class<T> expected) {
  List<MetadataValue> values = target.getMetadata(key);
  WorldGuardPlugin owner = WorldGuardPlugin.inst();
  for (MetadataValue value : values) {
    if (value.getOwningPlugin() == owner) {
      Object v = value.value();
      if (expected.isInstance(v)) {
        return (T) v;
      }
    }
  }
  return null;
}

代码示例来源:origin: mcMMO-Dev/mcMMO

public static McMMOPlayer getPlayer(Player player) {
  return (McMMOPlayer) player.getMetadata(mcMMO.playerDataKey).get(0).value();
}

代码示例来源:origin: seeseemelk/MockBukkit

@Override
public void setMetadata(String metadataKey, MetadataValue newMetadataValue)
{
  Map<Plugin, MetadataValue> values = metadata.get(metadataKey);
  if (values == null)
  {
    values = new HashMap<>();
    metadata.put(metadataKey, values);
  }
  values.put(newMetadataValue.getOwningPlugin(), newMetadataValue);
}

代码示例来源:origin: mcMMO-Dev/mcMMO

private Player getPlayerFromFurnace(Block furnaceBlock) {
  List<MetadataValue> metadata = furnaceBlock.getMetadata(mcMMO.furnaceMetadataKey);
  if (metadata.isEmpty()) {
    return null;
  }
  return plugin.getServer().getPlayerExact(metadata.get(0).asString());
}

代码示例来源:origin: elBukkit/MagicPlugin

@Override
public boolean isVanished(Entity entity) {
  if (entity == null) return false;
  for (MetadataValue meta : entity.getMetadata("vanished")) {
    return meta.asBoolean();
  }
  return false;
}

相关文章