本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
}
}
示例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();
}
示例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です……");
}