@Override
public void loadRiderFromFile(String type, IPet pet) {
if (pet.getOwner() != null) {
String path = type + "." + pet.getOwnerIdentification();
if (EchoPet.getConfig(EchoPet.ConfigType.DATA).get(path + ".rider.type") != null) {
PetType riderPetType = PetType.valueOf(EchoPet.getConfig(EchoPet.ConfigType.DATA).getString(path + ".rider.type"));
String riderName = EchoPet.getConfig(EchoPet.ConfigType.DATA).getString(path + ".rider.name");
if (riderName.equalsIgnoreCase("") || riderName == null) {
riderName = riderPetType.getDefaultName(pet.getNameOfOwner());
}
if (riderPetType == null) return;
if (EchoPet.getOptions().allowRidersFor(pet.getPetType())) {
IPet rider = pet.createRider(riderPetType, true);
if(rider != null && rider.getEntityPet() != null){
rider.setPetName(riderName);
ArrayList<PetData> riderData = new ArrayList<PetData>();
ConfigurationSection mcs = EchoPet.getConfig(EchoPet.ConfigType.DATA).getConfigurationSection(path + ".rider.data");
if (mcs != null) {
for (String key : mcs.getKeys(false)) {
if (GeneralUtil.isEnumType(PetData.class, key.toUpperCase())) {
PetData pd = PetData.valueOf(key.toUpperCase());
riderData.add(pd);
} else {
Logger.log(Logger.LogLevel.WARNING, "Error whilst loading data Pet Rider Save Data for " + pet.getNameOfOwner() + ". Unknown enum type: " + key + ".", true);
}
}
}
if (!riderData.isEmpty()) {
setData(pet, riderData.toArray(new PetData[riderData.size()]), true);
}
}
}
}
}
}
PetManager.java 文件源码
java
阅读 28
收藏 0
点赞 0
评论 0
项目:EchoPet
作者:
评论列表
文章目录