mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-08-03 04:55:28 +02:00
Correcting issues with deserializing SkillRankProperty
This commit is contained in:
@@ -20,20 +20,24 @@ public class SkillRankPropertySerializer implements TypeSerializer<SkillRankProp
|
||||
@Nullable
|
||||
@Override
|
||||
public SkillRankProperty deserialize(@NonNull TypeToken<?> type, @NonNull ConfigurationNode value) throws ObjectMappingException {
|
||||
HashMap<Integer, Integer> standardMap;
|
||||
HashMap<Integer, Integer> retroMap;
|
||||
HashMap<Integer, Integer> standardHashMap;
|
||||
HashMap<Integer, Integer> retroHashMap;
|
||||
|
||||
try {
|
||||
standardMap = (HashMap<Integer, Integer>) value.getNode(STANDARD_RANK_UNLOCK_LEVEL_REQUIREMENTS).getValue(new TypeToken<Map<?, ?>>() {});
|
||||
retroMap = (HashMap<Integer, Integer>) value.getNode(RETRO_RANK_UNLOCK_LEVEL_REQUIREMENTS).getValue(new TypeToken<Map<?, ?>>() {});
|
||||
Map<? extends Integer, ? extends Integer> standardMap = value.getNode(STANDARD_RANK_UNLOCK_LEVEL_REQUIREMENTS).getValue(new TypeToken<Map<? extends Integer, ? extends Integer>>() {});
|
||||
Map<? extends Integer, ? extends Integer> retroMap = value.getNode(RETRO_RANK_UNLOCK_LEVEL_REQUIREMENTS).getValue(new TypeToken<Map<? extends Integer, ? extends Integer>>() {});
|
||||
|
||||
standardHashMap = new HashMap<>(standardMap);
|
||||
retroHashMap = new HashMap<>(retroMap);
|
||||
|
||||
} catch (ObjectMappingException e) {
|
||||
mcMMO.p.getLogger().severe("Unable to deserialize rank property information from the config, make sure the ranks are correctly set in the config. You can delete the rank config to generate a new one if problems persist.");
|
||||
throw e;
|
||||
}
|
||||
|
||||
SkillRankProperty skillRankProperty = new SkillRankProperty();
|
||||
skillRankProperty.setStandardRanks(standardMap);
|
||||
skillRankProperty.setRetroRanks(retroMap);
|
||||
skillRankProperty.setStandardRanks(standardHashMap);
|
||||
skillRankProperty.setRetroRanks(retroHashMap);
|
||||
|
||||
return skillRankProperty;
|
||||
}
|
||||
@@ -41,6 +45,6 @@ public class SkillRankPropertySerializer implements TypeSerializer<SkillRankProp
|
||||
@Override
|
||||
public void serialize(@NonNull TypeToken<?> type, @Nullable SkillRankProperty obj, @NonNull ConfigurationNode value) throws ObjectMappingException {
|
||||
value.getNode(STANDARD_RANK_UNLOCK_LEVEL_REQUIREMENTS).setValue(obj.getStandardRanks());
|
||||
value.getNode(RETRO_RANK_UNLOCK_LEVEL_REQUIREMENTS).setValue(obj.getStandardRanks());
|
||||
value.getNode(RETRO_RANK_UNLOCK_LEVEL_REQUIREMENTS).setValue(obj.getRetroRanks());
|
||||
}
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||
@ConfigSerializable
|
||||
public class ConfigRanksArchery {
|
||||
|
||||
@Setting(value = "Limit-Break")
|
||||
@Setting(value = "Archery-Limit-Break")
|
||||
private SkillRankProperty limitBreak = new SkillRankProperty(10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
|
||||
|
||||
@Setting(value = "Arrow-Retrieval")
|
||||
|
@@ -6,7 +6,7 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||
@ConfigSerializable
|
||||
public class ConfigRanksAxes {
|
||||
|
||||
@Setting(value = "Limit-Break")
|
||||
@Setting(value = "Axes-Limit-Break")
|
||||
private SkillRankProperty limitBreak = new SkillRankProperty(10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
|
||||
|
||||
@Setting(value = "Skull-Splitter")
|
||||
|
@@ -1,8 +1,29 @@
|
||||
package com.gmail.nossr50.config.hocon.skills.ranks;
|
||||
|
||||
import ninja.leaping.configurate.objectmapping.Setting;
|
||||
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||
|
||||
@ConfigSerializable
|
||||
public class ConfigRanksRepair {
|
||||
|
||||
@Setting(value = "Arcane-Forging")
|
||||
private SkillRankProperty arcaneForging = new SkillRankProperty(10, 25, 35, 50, 65, 75, 85, 100);
|
||||
|
||||
@Setting(value = "Repair-Mastery")
|
||||
private SkillRankProperty repairMastery = new SkillRankProperty(75);
|
||||
|
||||
@Setting(value = "Super-Repair")
|
||||
private SkillRankProperty superRepair = new SkillRankProperty(40);
|
||||
|
||||
public SkillRankProperty getArcaneForging() {
|
||||
return arcaneForging;
|
||||
}
|
||||
|
||||
public SkillRankProperty getRepairMastery() {
|
||||
return repairMastery;
|
||||
}
|
||||
|
||||
public SkillRankProperty getSuperRepair() {
|
||||
return superRepair;
|
||||
}
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||
@ConfigSerializable
|
||||
public class ConfigRanksSwords {
|
||||
|
||||
@Setting(value = "Limit-Break")
|
||||
@Setting(value = "Swords-Limit-Break")
|
||||
private SkillRankProperty limitBreak = new SkillRankProperty(10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
|
||||
|
||||
@Setting(value = "Stab")
|
||||
|
@@ -6,7 +6,7 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||
@ConfigSerializable
|
||||
public class ConfigRanksUnarmed {
|
||||
|
||||
@Setting(value = "Limit-Break")
|
||||
@Setting(value = "Unarmed-Limit-Break")
|
||||
private SkillRankProperty limitBreak = new SkillRankProperty(10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
|
||||
|
||||
@Setting(value = "Berserk")
|
||||
|
Reference in New Issue
Block a user