org.bukkit.metadata.MetadataValue.getOwningPlugin()方法的使用及代码示例

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

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

MetadataValue.getOwningPlugin介绍

[英]Returns the Plugin that created this metadata item.
[中]返回创建此元数据项的插件。

代码示例

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

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

代码示例来源: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: EngineHub/CommandHelper

@Override
public MCPlugin getOwningPlugin() {
  return new BukkitMCPlugin(this.value.getOwningPlugin());
}

代码示例来源: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: SpigotMC/Spigot-API

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

代码示例来源: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: 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: xXKeyleXx/MyPet

@SuppressWarnings("unchecked")
  public static Map<UUID, Double> getDamageToEntityPercent(LivingEntity victim) {
    Map<UUID, Double> damagePercentMap = new HashMap<>();
    if (victim.hasMetadata("DamageCount")) {
      for (MetadataValue value : victim.getMetadata("DamageCount")) {
        if (value.getOwningPlugin().getName().equals("MyPet")) {
          Map<UUID, Double> damageMap = (Map<UUID, Double>) value.value();
          double allDamage = 0;
          for (Double damage : damageMap.values()) {
            allDamage += damage;
          }
          if (allDamage <= 0) {
            return damagePercentMap;
          }
          for (UUID entity : damageMap.keySet()) {
            damagePercentMap.put(entity, damageMap.get(entity) / allDamage);
          }
          return damagePercentMap;
        }
      }
    }
    return damagePercentMap;
  }
}

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

@SuppressWarnings("unchecked")
public static double getDamageToEntityPercent(LivingEntity damager, LivingEntity victim) {
  if (victim.hasMetadata("DamageCount")) {
    UUID damagerUUID = damager.getUniqueId();
    for (MetadataValue value : victim.getMetadata("DamageCount")) {
      if (value.getOwningPlugin().getName().equals("MyPet")) {
        Map<UUID, Double> damageMap = (Map<UUID, Double>) value.value();
        double allDamage = 0;
        double damagerDamage = damageMap.containsKey(damagerUUID) ? damageMap.get(damagerUUID) : 0;
        for (UUID entity : damageMap.keySet()) {
          allDamage += damageMap.get(entity);
        }
        return damagerDamage / allDamage;
      }
    }
  }
  return 0;
}

代码示例来源:origin: BentoBoxWorld/BentoBox

private void report(@Nullable User user, @NonNull Event e, @NonNull Location loc, @NonNull Flag flag, @NonNull Why why) {
  // A quick way to debug flag listener unit tests is to add this line here: System.out.println(why.name()); NOSONAR
  if (user != null && user.getPlayer().getMetadata(loc.getWorld().getName() + "_why_debug").stream()
      .filter(p -> p.getOwningPlugin().equals(getPlugin())).findFirst().map(MetadataValue::asBoolean).orElse(false)) {
    plugin.log("Why: " + e.getEventName() + " in world " + loc.getWorld().getName() + " at " + Util.xyz(loc.toVector()));
    plugin.log("Why: " + user.getName() + " " + flag.getID() + " - " + why.name());
  }
}

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

@SuppressWarnings("unchecked")
public static void addDamageToEntity(LivingEntity damager, LivingEntity victim, double damage) {
  Map<UUID, Double> damageMap;
  if (victim.hasMetadata("DamageCount")) {
    for (MetadataValue value : victim.getMetadata("DamageCount")) {
      if (value.getOwningPlugin().getName().equals("MyPet")) {
        damageMap = (Map<UUID, Double>) value.value();
        if (damageMap.containsKey(damager)) {
          double oldDamage = damageMap.get(damager);
          damageMap.put(damager.getUniqueId(), victim.getHealth() < damage ? victim.getHealth() + oldDamage : damage + oldDamage);
        } else {
          damageMap.put(damager.getUniqueId(), victim.getHealth() < damage ? victim.getHealth() : damage);
        }
        break;
      }
    }
  } else {
    damageMap = new WeakHashMap<>();
    damageMap.put(damager.getUniqueId(), victim.getHealth() < damage ? victim.getHealth() : damage);
    victim.setMetadata("DamageCount", new FixedMetadataValue(MyPetApi.getPlugin(), damageMap));
  }
}

代码示例来源:origin: BentoBoxWorld/BentoBox

.filter(p -> p.getOwningPlugin().equals(getPlugin())).findFirst().map(MetadataValue::asBoolean).orElse(false);
if (newValue) {
  user.sendMessage("commands.admin.why.turning-on", TextVariables.NAME, target.getName());

代码示例来源: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: seeseemelk/MockBukkit

@Test
public void removeMetadata_MultipleSet_OneRemoved()
{
  MockPlugin plugin1 = MockBukkit.createMockPlugin();
  TestPlugin plugin2 = MockBukkit.load(TestPlugin.class);
  mt.setMetadata("MyMetadata", new FixedMetadataValue(plugin1, "wee"));
  mt.setMetadata("MyMetadata", new FixedMetadataValue(plugin2, "woo"));
  mt.removeMetadata("MyMetadata", plugin1);
  assertTrue(mt.hasMetadata("MyMetadata"));
  List<MetadataValue> metadata = mt.getMetadata("MyMetadata");
  assertEquals(1, metadata.size());
  MetadataValue value = metadata.get(0);
  assertEquals(plugin2, value.getOwningPlugin());
}

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

List<MetadataValue> metadata = entity.getMetadata("hit");
for (MetadataValue value : metadata) {
  if (value.getOwningPlugin().equals(plugin)) {
    Object o = value.value();
    if (o != null && o instanceof WeakReference) {

相关文章