IOUtil.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:BannerMaker 作者:
private static ItemStack loadBanner(Player player, String key) {
    //設定檔
    String fileName = getFileName(player);
    FileConfiguration config = KConfigManager.get(fileName);
    //檢查是否為物品
    ItemStack banner = null;
    //檢查是否為正確格式
    if (config.isInt(key + ".color") && (!config.contains(key + ".patterns") || config.isList(key + ".patterns"))) {
        //嘗試以新格式讀取
        try {
            //建立旗幟
            banner = new ItemStack(Material.BANNER, 1, (short) config.getInt(key + ".color"));
            BannerMeta bm = (BannerMeta) banner.getItemMeta();
            //新增Patterns
            if (config.contains(key + ".patterns")) {
                List<String> patternsList = config.getStringList(key + ".patterns");
                for (String str : patternsList) {
                    String strPattern = str.split(":")[0];
                    String strColor = str.split(":")[1];
                    Pattern pattern = new Pattern(DyeColor.valueOf(strColor), PatternType.getByIdentifier(strPattern));
                    bm.addPattern(pattern);
                }
                banner.setItemMeta(bm);
            }
            //將key藏於Lore
            bm.setLore(Collections.singletonList(HiddenStringUtil.encodeString(key)));
            banner.setItemMeta(bm);
        } catch (Exception e) {
            banner = null;
        }
    }
    //只處理旗幟
    if (!BannerUtil.isBanner(banner)) {
        return null;
    }
    return banner;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号