当前位置: 首页>>代码示例>>Java>>正文


Java MetadataValue.value方法代码示例

本文整理汇总了Java中org.bukkit.metadata.MetadataValue.value方法的典型用法代码示例。如果您正苦于以下问题:Java MetadataValue.value方法的具体用法?Java MetadataValue.value怎么用?Java MetadataValue.value使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.bukkit.metadata.MetadataValue的用法示例。


在下文中一共展示了MetadataValue.value方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getMapWrapper

import org.bukkit.metadata.MetadataValue; //导入方法依赖的package包/类
/**
 * @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;
}
 
开发者ID:InventivetalentDev,项目名称:MapManager,代码行数:20,代码来源:MapInteractEvent.java

示例2: getArmorStand

import org.bukkit.metadata.MetadataValue; //导入方法依赖的package包/类
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;
}
 
开发者ID:St3venAU,项目名称:ArmorStandTools,代码行数:18,代码来源:MainListener.java

示例3: getMetadata

import org.bukkit.metadata.MetadataValue; //导入方法依赖的package包/类
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;
}
 
开发者ID:SamaGames,项目名称:AntiCheat,代码行数:14,代码来源:Metadatas.java

示例4: getMetadataValue

import org.bukkit.metadata.MetadataValue; //导入方法依赖的package包/类
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;
}
 
开发者ID:Soldier233,项目名称:ArchersBattle,代码行数:11,代码来源:Skill.java

示例5: getSpawnReason

import org.bukkit.metadata.MetadataValue; //导入方法依赖的package包/类
/**
 * 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;
}
 
开发者ID:Samistine,项目名称:BloodMoon,代码行数:17,代码来源:BloodMoon.java

示例6: onDeath

import org.bukkit.metadata.MetadataValue; //导入方法依赖的package包/类
@EventHandler(priority=EventPriority.HIGHEST)
public void onDeath(final EntityDeathEvent e) {
	if (e.getEntity().hasMetadata("android_killer")) {
		for (MetadataValue value: e.getEntity().getMetadata("android_killer")) {
			final AndroidObject obj = (AndroidObject) value.value();
			Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunStartup.instance, new Runnable() {
				
				@SuppressWarnings("deprecation")
				@Override
				public void run() {
					List<ItemStack> items = new ArrayList<ItemStack>();
					for (Entity n: e.getEntity().getNearbyEntities(0.5D, 0.5D, 0.5D)) {
						if (n instanceof Item && !n.hasMetadata("no_pickup")) {
							items.add(((Item) n).getItemStack());
							n.remove();
						}
					}
					
					switch (e.getEntityType()) {
					case BLAZE: {
						items.add(new ItemStack(Material.BLAZE_ROD, 1 + CSCoreLib.randomizer().nextInt(2)));
						break;
					}
					case PIG_ZOMBIE: {
						items.add(new ItemStack(Material.GOLD_NUGGET, 1 + CSCoreLib.randomizer().nextInt(3)));
						break;
					}
					case SKELETON: {
						if (((Skeleton) e.getEntity()).getSkeletonType().equals(SkeletonType.WITHER)) {
							if (CSCoreLib.randomizer().nextInt(250) < 2) items.add(new MaterialData(Material.SKULL_ITEM, (byte) 1).toItemStack(1));
						}
						break;
					}
					default:
						break;
					}
					
					obj.getAndroid().addItems(obj.getBlock(), items.toArray(new ItemStack[items.size()]));
					ExperienceOrb exp = (ExperienceOrb) e.getEntity().getWorld().spawnEntity(e.getEntity().getLocation(), EntityType.EXPERIENCE_ORB);
					exp.setExperience(1 + CSCoreLib.randomizer().nextInt(6));
				}
			}, 1L);
			return;
		}
	}
}
 
开发者ID:StarWishsama,项目名称:Slimefun4-Chinese-Version,代码行数:47,代码来源:AndroidKillingListener.java

示例7: getProjectileDefinition

import org.bukkit.metadata.MetadataValue; //导入方法依赖的package包/类
static @Nullable ProjectileDefinition getProjectileDefinition(Entity entity) {
    final MetadataValue metadataValue = entity.getMetadata(METADATA_KEY, PGM.get());
    return metadataValue == null ? null : (ProjectileDefinition) metadataValue.value();
}
 
开发者ID:OvercastNetwork,项目名称:ProjectAres,代码行数:5,代码来源:Projectiles.java

示例8: kill

import org.bukkit.metadata.MetadataValue; //导入方法依赖的package包/类
@EventHandler(ignoreCancelled = true)
public void kill(EntityDeathEvent e) {
	// 殺されたエンティティ
	LivingEntity entity = e.getEntity();
	// エンティティを殺したプレイヤー
	Player player = entity.getKiller();

	// null=プレイヤーが殺したのではないなら
	if (player == null) {
		return; // 何もしない
	}

	// メタデータを取得する
	List<MetadataValue> values = entity.getMetadata(DATA_KEY);
	MetadataValue value = null;

	// ループで全部チェックする
	for (MetadataValue v : values) {
		// 名前を比較して同じプラグインか確認
		if (v.getOwningPlugin().getName().equals(plugin.getName())) {
			// 同じなら値をセットしてループ抜ける
			value = v;
			break;
		}
	}

	// nullのまま(見つからなかった)
	if (value == null) {
		return; // TODO:何か処理
	}

	// キャストする
	Location location = (Location) value.value();

	// 出力する
	player.sendMessage(
			"あなたがたった今、命を奪ったMOBは"
					+ location.getWorld().getName()
					+ "の、X="
					+ location.getBlockX()
					+ ",Y="
					+ location.getBlockY()
					+ ",Z="
					+ location.getBlockZ()
					+ "で生まれたMOBです……");
}
 
开发者ID:HimaJyun,项目名称:BukkitPluginDevelopment,代码行数:47,代码来源:Main.java


注:本文中的org.bukkit.metadata.MetadataValue.value方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。