From f17b9f2acef1b2a30e642042dbd73373246f1d86 Mon Sep 17 00:00:00 2001 From: Ka0rX Date: Sun, 19 Mar 2023 14:16:34 +0100 Subject: [PATCH] MMOCoreDataSynchronizer fix for Bounded Skills. --- .../data/mysql/MMOCoreDataSynchronizer.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MMOCoreDataSynchronizer.java b/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MMOCoreDataSynchronizer.java index 84229919..6901bfa8 100644 --- a/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MMOCoreDataSynchronizer.java +++ b/MMOCore-API/src/main/java/net/Indyuce/mmocore/manager/data/mysql/MMOCoreDataSynchronizer.java @@ -96,15 +96,11 @@ public class MMOCoreDataSynchronizer extends DataSynchronizer { for (Map.Entry entry : object.entrySet()) data.setSkillLevel(entry.getKey(), entry.getValue().getAsInt()); } - if (!isEmpty(result.getString("bound_skills"))) - for (String id : MMOCoreUtils.jsonArrayToList(result.getString("bound_skills"))) - if (data.getProfess().hasSkill(id)) { - ClassSkill skill = data.getProfess().getSkill(id); - if (skill.getSkill().getTrigger().isPassive()) - data.bindPassiveSkill(-1, skill.toPassive(data)); - else - data.getBoundSkills().add(skill); - } + if (!isEmpty(result.getString("bound_skills"))) { + JsonObject object = new Gson().fromJson(result.getString("skills"), JsonObject.class); + for (Map.Entry entry : object.entrySet()) + data.bindSkill(Integer.parseInt(entry.getKey()), data.getProfess().getSkill(entry.getValue().getAsString())); + } if (!isEmpty(result.getString("class_info"))) { JsonObject object = new Gson().fromJson(result.getString("class_info"), JsonObject.class); for (Map.Entry entry : object.entrySet()) {