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