/**
* Gets a String representing all special meta of this ItemStack, if any.
*
* @param is the ItemStack
* @param separators the separators
*
* @return a String representing this ItemStack's special meta or an empty String
*
* @throws InventoryUtilException if something goes wrong
*/
public static String getSpecialMetaString(final ItemStack is, final String[] separators) throws InventoryUtilException {
final ItemMeta meta = is.getItemMeta();
if (meta instanceof BookMeta) {
return getBookMetaString((BookMeta)meta);
} else if (meta instanceof EnchantmentStorageMeta) {
return getEnchantmentStorageMetaString((EnchantmentStorageMeta)meta, separators);
} else if (meta instanceof FireworkEffectMeta) {
return getFireworkEffectMetaString((FireworkEffectMeta)meta);
} else if (meta instanceof FireworkMeta) {
return getFireworkMetaString((FireworkMeta)meta, separators);
} else if (meta instanceof LeatherArmorMeta) {
return getLeatherArmorMetaString((LeatherArmorMeta)meta);
} else if (meta instanceof MapMeta) {
return getMapMetaString((MapMeta)meta);
} else if (meta instanceof PotionMeta) {
return getPotionMetaString((PotionMeta)meta, separators);
} else if (meta instanceof SkullMeta) {
return getSkullMetaString((SkullMeta)meta);
} else {
throw new InventoryUtilException("Unknown Meta type '" + meta.getClass().getName() + "', please report this to the author (Ribesg)!");
}
}
java类org.bukkit.inventory.meta.SkullMeta的实例源码
ItemMetaUtil.java 文件源码
项目:NPlugins
阅读 27
收藏 0
点赞 0
评论 0
NpcReplacePlayerEvent.java 文件源码
项目:xEssentials-deprecated-bukkit
阅读 23
收藏 0
点赞 0
评论 0
private void turnSkelToNpc(Skeleton skel, String player) {
ItemStack head = new ItemStack(Material.SKULL_ITEM);
head.setDurability((short)3);
SkullMeta meta = (SkullMeta) head.getItemMeta();
meta.setOwner(player);
head.setItemMeta(meta);
head.setAmount(1);
skel.getEquipment().setHelmet(head);
skel.getEquipment().setHelmetDropChance(0);
ItemStack chestplate = new ItemStack(Material.IRON_CHESTPLATE);
chestplate.setAmount(1);
skel.getEquipment().setChestplate(chestplate);
skel.getEquipment().setChestplateDropChance(0);
ItemStack leggings = new ItemStack(Material.IRON_LEGGINGS);
leggings.setAmount(1);
skel.getEquipment().setLeggings(leggings);
skel.getEquipment().setLeggingsDropChance(0);
ItemStack shoes = new ItemStack(Material.IRON_BOOTS);
skel.getEquipment().setBoots(shoes);
skel.getEquipment().setBootsDropChance(0);
skel.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, Integer.MAX_VALUE, 30));
skel.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, Integer.MAX_VALUE, 30));
skel.setCustomName(player);
skel.setCustomNameVisible(true);
}
GetYourHeadSignEvent.java 文件源码
项目:xEssentials-deprecated-bukkit
阅读 16
收藏 0
点赞 0
评论 0
@EventHandler
public void signRightClickhead(PlayerInteractEvent s) {
if(s.getAction() == Action.RIGHT_CLICK_BLOCK) {
if(s.getClickedBlock().getState().getType() == Material.SIGN || s.getClickedBlock().getState().getType() == Material.SIGN_POST || s.getClickedBlock().getState().getType() == Material.WALL_SIGN) {
//log.info("This is a sign...");
Sign sign = (Sign) s.getClickedBlock().getState();
if(sign.getLine(0).contains("[GetYourHead]")) {
//log.info("Launching dispatch command....");
ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short)3);
SkullMeta skullmeta = (SkullMeta)skull.getItemMeta();
skullmeta.setOwner(s.getPlayer().getName());
skull.setItemMeta(skullmeta);
skull.setAmount(1);
if(s.getPlayer().getItemInHand().getType() == Material.AIR) {
s.getPlayer().getInventory().setItemInHand(skull);
sendMessage(s.getPlayer(), ChatColor.GOLD + "[GetYourHead] " + ChatColor.GREEN + "your head has been added in your hand!");
} else {
sendMessage(s.getPlayer(), ChatColor.GOLD + "[GetYourHead] " + ChatColor.RED + "your hands need to be empty!");
}
s.setCancelled(true);
}
}
}
}
DeathMatch.java 文件源码
项目:ZvP
阅读 37
收藏 0
点赞 0
评论 0
@Override
public void onDeath(ZvPPlayer player, PlayerDeathEvent event) {
super.onDeath(player, event);
this.playerDrops.put(player, new ArrayList<ItemStack>(event.getDrops()));
event.getDrops().clear();
Entity entitiy = getArena().getWorld().spawnEntity(player.getLocation(), EntityType.ZOMBIE);
if (entitiy != null) {
getArena().getDifficultyTool().customizeEntity(entitiy);
}
ItemStack playerSkull = new ItemStack(Material.SKULL_ITEM);
playerSkull.setDurability((short) 3);
SkullMeta meta = (SkullMeta) playerSkull.getItemMeta();
meta.setOwner(player.getName());
playerSkull.setItemMeta(meta);
Zombie z = (Zombie) entitiy;
z.setBaby(false);
z.getEquipment().setHelmet(playerSkull);
z.setMaxHealth(2 * 20);
getArena().updatePlayerBoards();
}
DeathMatch.java 文件源码
项目:ZvP
阅读 31
收藏 0
点赞 0
评论 0
@Override
public void onZombieKill(ZvPPlayer attacker, Entity zombie, EntityDeathEvent event) {
super.onZombieKill(attacker, zombie, event);
Zombie z = (Zombie) zombie;
if (z.getEquipment().getHelmet().getType() == Material.SKULL_ITEM) {
if (z.getEquipment().getHelmet().hasItemMeta() && z.getEquipment().getHelmet().getItemMeta() instanceof SkullMeta) {
SkullMeta meta = (SkullMeta) z.getEquipment().getHelmet().getItemMeta();
if (meta.hasOwner()) {
ZvPPlayer player = GameManager.getManager().getPlayer(meta.getOwner());
if (player != null) {
if (this.playerDrops.containsKey(player)) {
event.getDrops().clear();
event.getDrops().addAll(this.playerDrops.get(player));
this.playerDrops.remove(player);
}
}
}
}
}
}
Utils.java 文件源码
项目:Shopkeepers
阅读 28
收藏 0
点赞 0
评论 0
public static boolean isCustomHeadItem(ItemStack item) {
if (item == null) return false;
if (item.getType() != Material.SKULL_ITEM) {
return false;
}
if (item.getDurability() != SkullType.PLAYER.ordinal()) {
return false;
}
ItemMeta meta = item.getItemMeta();
if (meta instanceof SkullMeta) {
SkullMeta skullMeta = (SkullMeta) meta;
if (skullMeta.hasOwner() && skullMeta.getOwner() == null) {
// custom head items usually don't have a valid owner
return true;
}
}
return false;
}
GuiUtil.java 文件源码
项目:uppercore
阅读 21
收藏 0
点赞 0
评论 0
public static ItemStack head(String playerName, String displayName, String... lore) {
ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (byte) 3);
SkullMeta meta = (SkullMeta) item.getItemMeta();
meta.setOwner(playerName);
meta.setDisplayName(displayName);
meta.setLore(Arrays.asList(lore));
item.setItemMeta(meta);
return item;
}
SkullCustomItem.java 文件源码
项目:uppercore
阅读 19
收藏 0
点赞 0
评论 0
@Override
public void processMeta(Player player, ItemMeta m) {
super.processMeta(player, m);
SkullMeta meta = (SkullMeta) m;
if(skullOwner != null)
meta.setOwner(skullOwner.resolve(player, getPlaceholders()));
}
ItemFactory.java 文件源码
项目:Warzone
阅读 26
收藏 0
点赞 0
评论 0
public static ItemStack getPlayerSkull(String name) {
ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) SkullType.PLAYER.ordinal());
SkullMeta meta = (SkullMeta) skull.getItemMeta();
meta.setOwner(name);
skull.setItemMeta(meta);
return skull;
}
PetBlockHelper.java 文件源码
项目:PetBlocks
阅读 24
收藏 0
点赞 0
评论 0
private static ItemStack activateHead(String name, ItemStack itemStack) {
try {
if (itemStack.getItemMeta() instanceof SkullMeta) {
final SkullMeta meta = (SkullMeta) itemStack.getItemMeta();
meta.setOwner(name);
itemStack.setItemMeta(meta);
}
} catch (final Exception e) {
PetBlocksPlugin.logger().log(Level.WARNING, e.getMessage());
}
return itemStack;
}