java类org.bukkit.inventory.meta.SkullMeta的实例源码

ItemMetaUtil.java 文件源码 项目:NPlugins 阅读 27 收藏 0 点赞 0 评论 0
/**
 * 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)!");
    }
}
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;
}


问题


面经


文章

微信
公众号

扫码关注公众号