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;
}
IOUtil.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:BannerMaker
作者:
评论列表
文章目录