本文整理了Java中org.bukkit.metadata.MetadataValue.getOwningPlugin()
方法的一些代码示例,展示了MetadataValue.getOwningPlugin()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MetadataValue.getOwningPlugin()
方法的具体详情如下:
包路径:org.bukkit.metadata.MetadataValue
类名称: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) {
内容来源于网络,如有侵权,请联系作者删除!