mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-08-02 12:35:27 +02:00
Using doubles in most places again to avoid precision loss
This commit is contained in:
@@ -56,7 +56,7 @@ public class ConfigExploitPrevention {
|
||||
return getConfigSectionExploitFishing().getFishingRodSpamMilliseconds();
|
||||
}
|
||||
|
||||
public float getOverFishingAreaSize() {
|
||||
public double getOverFishingAreaSize() {
|
||||
return getConfigSectionExploitFishing().getOverFishingAreaSize();
|
||||
}
|
||||
|
||||
|
@@ -8,7 +8,7 @@ public class ConfigSectionExploitFishing {
|
||||
|
||||
public static final int OVER_FISHING_LIMIT_DEFAULT = 10;
|
||||
public static final boolean ADMINS_OVER_FISHING_DEFAULT = true;
|
||||
public static final float OVER_FISHING_SIZE = 1.0F;
|
||||
public static final double OVER_FISHING_SIZE = 1.0;
|
||||
public static final int FISHING_ROD_SPAM_THRESHOLD_MILLISECONDS_DEFAULT = 200;
|
||||
private static final boolean PREVENT_FISHING_EXPLOITS_DEFAULT = true;
|
||||
@Setting(value = "Prevent-Fishing-AFK-Farming",
|
||||
@@ -32,7 +32,7 @@ public class ConfigSectionExploitFishing {
|
||||
"\nWhen you catch a new fish it makes a new bounding box at that location and checks to see if it overlaps with the bounding box of the last place you caught a fish," +
|
||||
"\n if they intersect then that increases your fish counter, if you are at your fishing limit then you get nothing." +
|
||||
"\nDefault value: " + OVER_FISHING_SIZE)
|
||||
private float overFishingAreaSize = OVER_FISHING_SIZE;
|
||||
private double overFishingAreaSize = OVER_FISHING_SIZE;
|
||||
|
||||
@Setting(value = "Alert-Admins-To-Overfishing-Abuse", comment = "If someone is triggering over-fishing exploit detection too often, alert admins." +
|
||||
"\nThis will send a message to ops in game and to the console, and to anyone with the admin chat permission node." +
|
||||
@@ -49,7 +49,7 @@ public class ConfigSectionExploitFishing {
|
||||
return fishingRodSpamMilliseconds;
|
||||
}
|
||||
|
||||
public float getOverFishingAreaSize() {
|
||||
public double getOverFishingAreaSize() {
|
||||
return overFishingAreaSize;
|
||||
}
|
||||
|
||||
|
@@ -34,7 +34,7 @@ public class ConfigSectionExploitSkills {
|
||||
return configSectionExploitFishing.getFishingRodSpamMilliseconds();
|
||||
}
|
||||
|
||||
public float getOverFishingAreaSize() {
|
||||
public double getOverFishingAreaSize() {
|
||||
return configSectionExploitFishing.getOverFishingAreaSize();
|
||||
}
|
||||
|
||||
|
@@ -12,12 +12,12 @@ import java.util.HashMap;
|
||||
@ConfigSerializable
|
||||
public class ConfigExperience {
|
||||
|
||||
private static final float GLOBAL_XP_MULT_DEFAULT = 1.0F;
|
||||
private static final double GLOBAL_XP_MULT_DEFAULT = 1.0F;
|
||||
|
||||
@Setting(value = "Global-XP-Multiplier", comment = "This multiplier is applied at the very end of every XP gain, you can use it as a shortcut to increase or decrease xp gains across the entire plugin" +
|
||||
"\nThis value is temporarily overridden by xprate events." +
|
||||
"\nDefault value: " + GLOBAL_XP_MULT_DEFAULT)
|
||||
private float globalXPMultiplier = GLOBAL_XP_MULT_DEFAULT;
|
||||
private double globalXPMultiplier = GLOBAL_XP_MULT_DEFAULT;
|
||||
|
||||
@Setting(value = "Global-Skill-XP-Multipliers", comment = "This multiplier is applied at the very end of an XP calculation specific to its corresponding skill, this value is applied before the global multiplier is applied.")
|
||||
private ConfigExperienceSkillMultiplier configExperienceSkillMultiplier = new ConfigExperienceSkillMultiplier();
|
||||
@@ -104,11 +104,11 @@ public class ConfigExperience {
|
||||
return getConfigExperienceSkills().getSmeltingExperienceMap();
|
||||
}
|
||||
|
||||
public float getItemMaterialXPMultiplier(ItemMaterialCategory itemMaterialCategory) {
|
||||
public double getItemMaterialXPMultiplier(ItemMaterialCategory itemMaterialCategory) {
|
||||
return getConfigExperienceSkills().getItemMaterialXPMultiplier(itemMaterialCategory);
|
||||
}
|
||||
|
||||
public Float getRepairXPBase() {
|
||||
public Double getRepairXPBase() {
|
||||
return getConfigExperienceSkills().getRepairXPBase();
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ public class ConfigExperience {
|
||||
return getConfigExperienceSkills().getAcrobaticsXPMap();
|
||||
}
|
||||
|
||||
public Float getFeatherFallMultiplier() {
|
||||
public Double getFeatherFallMultiplier() {
|
||||
return getConfigExperienceSkills().getFeatherFallMultiplier();
|
||||
}
|
||||
|
||||
@@ -160,15 +160,15 @@ public class ConfigExperience {
|
||||
return getConfigExperienceSkills().isPvpXPEnabled();
|
||||
}
|
||||
|
||||
public HashMap<String, Float> getCombatExperienceMap() {
|
||||
public HashMap<String, Double> getCombatExperienceMap() {
|
||||
return getConfigExperienceSkills().getCombatExperienceMap();
|
||||
}
|
||||
|
||||
public HashMap<SpecialXPKey, Float> getSpecialCombatExperienceMap() {
|
||||
public HashMap<SpecialXPKey, Double> getSpecialCombatExperienceMap() {
|
||||
return configExperienceSkills.getSpecialCombatExperienceMap();
|
||||
}
|
||||
|
||||
public Float getDistanceMultiplier() {
|
||||
public double getDistanceMultiplier() {
|
||||
return getConfigExperienceSkills().getDistanceMultiplier();
|
||||
}
|
||||
|
||||
@@ -196,7 +196,7 @@ public class ConfigExperience {
|
||||
return configExperienceSkills;
|
||||
}
|
||||
|
||||
public Float getGlobalXPMultiplier() {
|
||||
public double getGlobalXPMultiplier() {
|
||||
return globalXPMultiplier;
|
||||
}
|
||||
}
|
@@ -9,7 +9,7 @@ import java.util.HashMap;
|
||||
public class ConfigExperienceAcrobatics {
|
||||
|
||||
private final static HashMap<String, Integer> ACROBATICS_DEFAULT_XP_MAP;
|
||||
private static final float FEATHER_FALL_MULTIPLIER_DEFAULT = 2.0F;
|
||||
private static final double FEATHER_FALL_MULTIPLIER_DEFAULT = 2.0F;
|
||||
|
||||
static {
|
||||
ACROBATICS_DEFAULT_XP_MAP = new HashMap<>();
|
||||
@@ -24,13 +24,13 @@ public class ConfigExperienceAcrobatics {
|
||||
@Setting(value = "Feather-Fall-XP-Multiplier", comment = "Feather Fall grants bonus XP to fall related XP gains." +
|
||||
"\nThis value is multiplied against your XP to give the bonus." +
|
||||
"\nDefault value: " + FEATHER_FALL_MULTIPLIER_DEFAULT)
|
||||
private Float featherFallMultiplier = FEATHER_FALL_MULTIPLIER_DEFAULT;
|
||||
private Double featherFallMultiplier = FEATHER_FALL_MULTIPLIER_DEFAULT;
|
||||
|
||||
public HashMap<String, Integer> getAcrobaticsXPMap() {
|
||||
return acrobaticsXPMap;
|
||||
}
|
||||
|
||||
public Float getFeatherFallMultiplier() {
|
||||
public Double getFeatherFallMultiplier() {
|
||||
return featherFallMultiplier;
|
||||
}
|
||||
|
||||
|
@@ -6,7 +6,7 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||
@ConfigSerializable
|
||||
public class ConfigExperienceArchery {
|
||||
|
||||
public static final float DISTANCE_MULTIPLIER_DEFAULT = 0.025F;
|
||||
public static final double DISTANCE_MULTIPLIER_DEFAULT = 0.025F;
|
||||
|
||||
@Setting(value = "Distance-Multiplier", comment = "The distance multiplier is multiplied against the distance an " +
|
||||
"arrow travels before hitting its target to determine final XP values awarded." +
|
||||
@@ -14,9 +14,9 @@ public class ConfigExperienceArchery {
|
||||
"\nDistance is in blocks traveled." +
|
||||
"\nThis value is added on to normal XP gains from damage for Archery." +
|
||||
"\nDefault value: " + DISTANCE_MULTIPLIER_DEFAULT)
|
||||
private float distanceMultiplier = DISTANCE_MULTIPLIER_DEFAULT;
|
||||
private double distanceMultiplier = DISTANCE_MULTIPLIER_DEFAULT;
|
||||
|
||||
public float getDistanceMultiplier() {
|
||||
public double getDistanceMultiplier() {
|
||||
return distanceMultiplier;
|
||||
}
|
||||
}
|
@@ -9,82 +9,82 @@ import java.util.HashMap;
|
||||
@ConfigSerializable
|
||||
public class ConfigExperienceCombat {
|
||||
|
||||
private static final HashMap<String, Float> COMBAT_EXPERIENCE_DEFAULT;
|
||||
private static final HashMap<SpecialXPKey, Float> SPECIAL_COMBAT_EXPERIENCE_DEFAULT;
|
||||
private static final HashMap<String, Double> COMBAT_EXPERIENCE_DEFAULT;
|
||||
private static final HashMap<SpecialXPKey, Double> SPECIAL_COMBAT_EXPERIENCE_DEFAULT;
|
||||
private static final boolean PVP_XP_ENABLED_DEFAULT = false;
|
||||
|
||||
static {
|
||||
COMBAT_EXPERIENCE_DEFAULT = new HashMap<>();
|
||||
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("creeper", 4.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("cat", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("fox", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("panda", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("pillager", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("ravager", 4.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("trader_llama", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("skeleton", 3.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("spider", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("giant", 4.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("zombie", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("slime", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("ghast", 3.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("pig_zombie", 3.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("enderman", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("cave_spider", 3.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("silverfish", 3.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("blaze", 3.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("magma_cube", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("ender_dragon", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("wither", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("witch", 0.1F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("iron_golem", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("wither_skeleton", 4.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("endermite", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("guardian", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("elder_guardian", 4.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("shulker", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("donkey", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("mule", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("horse", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("zombie_villager", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("skeleton_horse", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("zombie_horse", 1.2F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("husk", 3.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("evoker", 3.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("polar_bear", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("llama", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("vindicator", 3.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("stray", 2.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("rabbit", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("chicken", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("bat", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("mushroom_cow", 1.2F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("cow", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("turtle", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("sheep", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("pig", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("squid", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("ocelot", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("villager", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("snowman", 0.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("parrot", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("illusioner", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("drowned", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("dolphin", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("phantom", 4.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("wandering_trader", 1.0F);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("creeper", 4.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("cat", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("fox", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("panda", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("pillager", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("ravager", 4.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("trader_llama", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("skeleton", 3.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("spider", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("giant", 4.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("zombie", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("slime", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("ghast", 3.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("pig_zombie", 3.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("enderman", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("cave_spider", 3.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("silverfish", 3.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("blaze", 3.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("magma_cube", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("ender_dragon", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("wither", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("witch", 0.1);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("iron_golem", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("wither_skeleton", 4.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("endermite", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("guardian", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("elder_guardian", 4.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("shulker", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("donkey", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("mule", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("horse", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("zombie_villager", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("skeleton_horse", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("zombie_horse", 1.2);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("husk", 3.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("evoker", 3.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("polar_bear", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("llama", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("vindicator", 3.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("stray", 2.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("rabbit", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("chicken", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("bat", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("mushroom_cow", 1.2);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("cow", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("turtle", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("sheep", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("pig", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("squid", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("ocelot", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("villager", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("snowman", 0.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("parrot", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("illusioner", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("drowned", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("dolphin", 1.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("phantom", 4.0);
|
||||
COMBAT_EXPERIENCE_DEFAULT.put("wandering_trader", 1.0);
|
||||
|
||||
//SPECIAL
|
||||
SPECIAL_COMBAT_EXPERIENCE_DEFAULT = new HashMap<>();
|
||||
SPECIAL_COMBAT_EXPERIENCE_DEFAULT.put(SpecialXPKey.ANIMALS, 1.0F); //TODO: this seems like a dumb config option
|
||||
SPECIAL_COMBAT_EXPERIENCE_DEFAULT.put(SpecialXPKey.SPAWNED, 0.0F);
|
||||
SPECIAL_COMBAT_EXPERIENCE_DEFAULT.put(SpecialXPKey.PVP, 1.0F);
|
||||
SPECIAL_COMBAT_EXPERIENCE_DEFAULT.put(SpecialXPKey.PETS, 1.0F);
|
||||
SPECIAL_COMBAT_EXPERIENCE_DEFAULT.put(SpecialXPKey.ANIMALS, 1.0); //TODO: this seems like a dumb config option
|
||||
SPECIAL_COMBAT_EXPERIENCE_DEFAULT.put(SpecialXPKey.SPAWNED, 0.0);
|
||||
SPECIAL_COMBAT_EXPERIENCE_DEFAULT.put(SpecialXPKey.PVP, 1.0);
|
||||
SPECIAL_COMBAT_EXPERIENCE_DEFAULT.put(SpecialXPKey.PETS, 1.0);
|
||||
}
|
||||
|
||||
@Setting(value = "Combat-XP-Multipliers")
|
||||
private HashMap<String, Float> combatExperienceMap = COMBAT_EXPERIENCE_DEFAULT;
|
||||
private HashMap<String, Double> combatExperienceMap = COMBAT_EXPERIENCE_DEFAULT;
|
||||
|
||||
@Setting(value = "Special-Combat-XP-Multipliers", comment = "Special XP settings which apply to a mobs matching certain criteria" +
|
||||
"\nAnimals - Non-hostile mobs, anything not considered a Monster" +
|
||||
@@ -93,7 +93,7 @@ public class ConfigExperienceCombat {
|
||||
"\nPets - Either tamed or from breeding" +
|
||||
"\nThese all default to 1.0 except for spawned, which defaults to 0.0" +
|
||||
"\nIf you want spawned mobs to give XP simply turn the value for spawned above 0.0")
|
||||
private HashMap<SpecialXPKey, Float> specialCombatExperienceMap = SPECIAL_COMBAT_EXPERIENCE_DEFAULT;
|
||||
private HashMap<SpecialXPKey, Double> specialCombatExperienceMap = SPECIAL_COMBAT_EXPERIENCE_DEFAULT;
|
||||
|
||||
@Setting(value = "PVP-XP", comment = "If true, players will gain XP from PVP interactions." +
|
||||
"\nBe careful turning this on as this can potentially allow for unwanted behaviour from players." +
|
||||
@@ -104,11 +104,11 @@ public class ConfigExperienceCombat {
|
||||
return pvpXPEnabled;
|
||||
}
|
||||
|
||||
public HashMap<String, Float> getCombatExperienceMap() {
|
||||
public HashMap<String, Double> getCombatExperienceMap() {
|
||||
return combatExperienceMap;
|
||||
}
|
||||
|
||||
public HashMap<SpecialXPKey, Float> getSpecialCombatExperienceMap() {
|
||||
public HashMap<SpecialXPKey, Double> getSpecialCombatExperienceMap() {
|
||||
return specialCombatExperienceMap;
|
||||
}
|
||||
}
|
@@ -14,10 +14,18 @@ public class ConfigExperienceCustomBoosts {
|
||||
|
||||
static {
|
||||
CUSTOM_BOOST_SET_DEFAULT = new ArrayList<>();
|
||||
CustomXPPerk customXPPerk = new CustomXPPerk("examplecustomxpperk");
|
||||
customXPPerk.setCustomXPValue(PrimarySkillType.MINING, 13.37f);
|
||||
customXPPerk.setCustomXPValue(PrimarySkillType.WOODCUTTING, 4.0f);
|
||||
CUSTOM_BOOST_SET_DEFAULT.add(customXPPerk);
|
||||
|
||||
CustomXPPerk exampleA = new CustomXPPerk("example-beneficial-xpperk");
|
||||
exampleA.setCustomXPValue(PrimarySkillType.MINING, 13.37);
|
||||
exampleA.setCustomXPValue(PrimarySkillType.EXCAVATION, 4.20);
|
||||
|
||||
CustomXPPerk exampleB = new CustomXPPerk("example-detrimental-xpperk");
|
||||
exampleB.setCustomXPValue(PrimarySkillType.WOODCUTTING, 0.01);
|
||||
exampleB.setCustomXPValue(PrimarySkillType.UNARMED, 0.02);
|
||||
exampleB.setCustomXPValue(PrimarySkillType.SWORDS, 0.03);
|
||||
|
||||
CUSTOM_BOOST_SET_DEFAULT.add(exampleA);
|
||||
CUSTOM_BOOST_SET_DEFAULT.add(exampleB);
|
||||
}
|
||||
|
||||
@Setting(value = "Custom-Global-XP-Permissions", comment = "You can give custom global xp perks to players by adding 'mcmmo.customperks.xp.<PERK NAME HERE>' to your players" +
|
||||
|
@@ -9,26 +9,26 @@ import java.util.HashMap;
|
||||
@ConfigSerializable
|
||||
public class ConfigExperienceRepair {
|
||||
|
||||
private static final float REPAIR_XP_BASE_DEFAULT = 1000.0F;
|
||||
private static final double REPAIR_XP_BASE_DEFAULT = 1000.0F;
|
||||
|
||||
private static final HashMap<ItemMaterialCategory, Float> ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT;
|
||||
private static final HashMap<ItemMaterialCategory, Double> ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT;
|
||||
|
||||
static {
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT = new HashMap<>();
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.WOOD, 0.6F);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.STONE, 1.3F);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.IRON, 2.5F);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.GOLD, 0.3F);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.DIAMOND, 5.0F);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.LEATHER, 1.6F);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.STRING, 1.8F);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.OTHER, 1.5F);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.WOOD, 0.6);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.STONE, 1.3);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.IRON, 2.5);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.GOLD, 0.3);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.DIAMOND, 5.0);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.LEATHER, 1.6);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.STRING, 1.8);
|
||||
ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT.put(ItemMaterialCategory.OTHER, 1.5);
|
||||
}
|
||||
|
||||
@Setting(value = "Item-Material-Category-XP-Multiplier", comment = "The material of your item is determined by mcMMO and used to influence XP, " +
|
||||
"if your Item doesn't fit into a known category it will use OTHER." +
|
||||
"\nFor the most part, items belong to categories of materials that they are made out of.")
|
||||
private HashMap<ItemMaterialCategory, Float> itemMaterialXPMultiplier = ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT;
|
||||
private HashMap<ItemMaterialCategory, Double> itemMaterialXPMultiplier = ITEM_MATERIAL_XP_MULTIPLIER_DEFAULT;
|
||||
|
||||
@Setting(value = "Repair-XP-Base", comment = "The base amount of XP for repairing an item." +
|
||||
"\nThe repair XP formula is a simple multiplication of these 4 values in this order" +
|
||||
@@ -37,13 +37,13 @@ public class ConfigExperienceRepair {
|
||||
"\nThe Base Repair XP defined here (default 1000.0)" +
|
||||
"\nAnd finally, the XP multiplier of the item material category defined in this config." +
|
||||
"\nDefault value: " + REPAIR_XP_BASE_DEFAULT)
|
||||
private Float repairXPBase = REPAIR_XP_BASE_DEFAULT;
|
||||
private Double repairXPBase = REPAIR_XP_BASE_DEFAULT;
|
||||
|
||||
public float getItemMaterialXPMultiplier(ItemMaterialCategory itemMaterialCategory) {
|
||||
public double getItemMaterialXPMultiplier(ItemMaterialCategory itemMaterialCategory) {
|
||||
return itemMaterialXPMultiplier.get(itemMaterialCategory);
|
||||
}
|
||||
|
||||
public Float getRepairXPBase() {
|
||||
public Double getRepairXPBase() {
|
||||
return repairXPBase;
|
||||
}
|
||||
}
|
@@ -11,27 +11,27 @@ import static com.gmail.nossr50.datatypes.skills.PrimarySkillType.*;
|
||||
@ConfigSerializable
|
||||
public class ConfigExperienceSkillMultiplier {
|
||||
|
||||
private static final HashMap<PrimarySkillType, Float> SKILL_GLOBAL_MULT_DEFAULT;
|
||||
private static final HashMap<PrimarySkillType, Double> SKILL_GLOBAL_MULT_DEFAULT;
|
||||
|
||||
static {
|
||||
SKILL_GLOBAL_MULT_DEFAULT = new HashMap<>();
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(ACROBATICS, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(ALCHEMY, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(ARCHERY, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(AXES, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(EXCAVATION, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(FISHING, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(HERBALISM, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(MINING, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(REPAIR, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(SWORDS, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(TAMING, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(UNARMED, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(WOODCUTTING, 1.0f);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(ACROBATICS, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(ALCHEMY, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(ARCHERY, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(AXES, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(EXCAVATION, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(FISHING, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(HERBALISM, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(MINING, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(REPAIR, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(SWORDS, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(TAMING, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(UNARMED, 1.0);
|
||||
SKILL_GLOBAL_MULT_DEFAULT.put(WOODCUTTING, 1.0);
|
||||
}
|
||||
|
||||
@Setting(value = "Skill-XP-Multipliers")
|
||||
private HashMap<PrimarySkillType, Float> perSkillGlobalMultiplier = SKILL_GLOBAL_MULT_DEFAULT;
|
||||
private HashMap<PrimarySkillType, Double> perSkillGlobalMultiplier = SKILL_GLOBAL_MULT_DEFAULT;
|
||||
|
||||
public double getSkillGlobalMultiplier(PrimarySkillType primarySkillType) {
|
||||
return perSkillGlobalMultiplier.get(primarySkillType);
|
||||
|
@@ -109,11 +109,11 @@ public class ConfigExperienceSkills {
|
||||
return experienceSmelting.getSmeltingExperienceMap();
|
||||
}
|
||||
|
||||
public float getItemMaterialXPMultiplier(ItemMaterialCategory itemMaterialCategory) {
|
||||
public double getItemMaterialXPMultiplier(ItemMaterialCategory itemMaterialCategory) {
|
||||
return experienceRepair.getItemMaterialXPMultiplier(itemMaterialCategory);
|
||||
}
|
||||
|
||||
public float getRepairXPBase() {
|
||||
public double getRepairXPBase() {
|
||||
return experienceRepair.getRepairXPBase();
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public class ConfigExperienceSkills {
|
||||
return experienceAcrobatics.getAcrobaticsXPMap();
|
||||
}
|
||||
|
||||
public float getFeatherFallMultiplier() {
|
||||
public double getFeatherFallMultiplier() {
|
||||
return experienceAcrobatics.getFeatherFallMultiplier();
|
||||
}
|
||||
|
||||
@@ -165,15 +165,15 @@ public class ConfigExperienceSkills {
|
||||
return experienceCombat.isPvpXPEnabled();
|
||||
}
|
||||
|
||||
public HashMap<String, Float> getCombatExperienceMap() {
|
||||
public HashMap<String, Double> getCombatExperienceMap() {
|
||||
return experienceCombat.getCombatExperienceMap();
|
||||
}
|
||||
|
||||
public HashMap<SpecialXPKey, Float> getSpecialCombatExperienceMap() {
|
||||
public HashMap<SpecialXPKey, Double> getSpecialCombatExperienceMap() {
|
||||
return experienceCombat.getSpecialCombatExperienceMap();
|
||||
}
|
||||
|
||||
public float getDistanceMultiplier() {
|
||||
public double getDistanceMultiplier() {
|
||||
return experienceArchery.getDistanceMultiplier();
|
||||
}
|
||||
|
||||
|
@@ -11,24 +11,24 @@ import java.util.HashMap;
|
||||
public class ConfigExperienceFormula {
|
||||
|
||||
private static final boolean CUMULATIVE_CURVE_DEFAULT = false;
|
||||
private static final HashMap<PrimarySkillType, Float> SKILL_FORMULA_MODIFIER_DEFAULT;
|
||||
private static final HashMap<PrimarySkillType, Double> SKILL_FORMULA_MODIFIER_DEFAULT;
|
||||
|
||||
static {
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT = new HashMap<>();
|
||||
//TODO: This code is causing compiler issues
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.ACROBATICS, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.ALCHEMY, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.AXES, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.ARCHERY, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.EXCAVATION, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.FISHING, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.HERBALISM, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.MINING, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.REPAIR, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.SWORDS, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.TAMING, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.UNARMED, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.WOODCUTTING, 1.0f);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.ACROBATICS, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.ALCHEMY, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.AXES, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.ARCHERY, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.EXCAVATION, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.FISHING, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.HERBALISM, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.MINING, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.REPAIR, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.SWORDS, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.TAMING, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.UNARMED, 1.0);
|
||||
SKILL_FORMULA_MODIFIER_DEFAULT.put(PrimarySkillType.WOODCUTTING, 1.0);
|
||||
}
|
||||
|
||||
@Setting(value = "Player-XP-Formula-Type", comment = "Determines which formula is used to determine XP needed to level" +
|
||||
@@ -50,13 +50,13 @@ public class ConfigExperienceFormula {
|
||||
|
||||
@Setting(value = "Skill-Formula-Multipliers", comment = "The end result of how much XP is needed to level is determined by multiplying against this value" +
|
||||
"\nHigher values will make skills take longer to level, lower values will decrease time to level instead.")
|
||||
private HashMap<PrimarySkillType, Float> skillXpModifier = SKILL_FORMULA_MODIFIER_DEFAULT;
|
||||
private HashMap<PrimarySkillType, Double> skillXpModifier = SKILL_FORMULA_MODIFIER_DEFAULT;
|
||||
|
||||
public FormulaType getFormulaType() {
|
||||
return formulaType;
|
||||
}
|
||||
|
||||
public float getSkillXpFormulaModifier(PrimarySkillType primarySkillType) {
|
||||
public double getSkillXpFormulaModifier(PrimarySkillType primarySkillType) {
|
||||
return skillXpModifier.get(primarySkillType);
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ public class ConfigExperienceFormula {
|
||||
return configExperienceFormulaExponential;
|
||||
}
|
||||
|
||||
public float getMultiplier(FormulaType formulaType) {
|
||||
public double getMultiplier(FormulaType formulaType) {
|
||||
switch (formulaType) {
|
||||
case LINEAR:
|
||||
return getLinearMultiplier();
|
||||
@@ -98,11 +98,11 @@ public class ConfigExperienceFormula {
|
||||
return configExperienceFormulaExponential.getExponentialBaseModifier();
|
||||
}
|
||||
|
||||
public float getExponentialMultiplier() {
|
||||
public double getExponentialMultiplier() {
|
||||
return configExperienceFormulaExponential.getExponentialMultiplier();
|
||||
}
|
||||
|
||||
public float getExponentialExponent() {
|
||||
public double getExponentialExponent() {
|
||||
return configExperienceFormulaExponential.getExponentialExponent();
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ public class ConfigExperienceFormula {
|
||||
return configExperienceFormulaLinear.getLinearBaseModifier();
|
||||
}
|
||||
|
||||
public float getLinearMultiplier() {
|
||||
public double getLinearMultiplier() {
|
||||
return configExperienceFormulaLinear.getLinearMultiplier();
|
||||
}
|
||||
}
|
@@ -7,27 +7,27 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||
public class ConfigExperienceFormulaExponential {
|
||||
|
||||
private static final int BASE_DEFAULT = 2000;
|
||||
private static final float MULTIPLIER_DEFAULT = 0.1f;
|
||||
private static final float EXPONENT_DEFAULT = 1.80f;
|
||||
private static final double MULTIPLIER_DEFAULT = 0.1f;
|
||||
private static final double EXPONENT_DEFAULT = 1.80f;
|
||||
|
||||
@Setting(value = "Base-Amount", comment = "Default value: " + BASE_DEFAULT)
|
||||
private int baseModifier = BASE_DEFAULT;
|
||||
|
||||
@Setting(value = "Multiplier", comment = "Default value: " + MULTIPLIER_DEFAULT)
|
||||
private float multiplier = MULTIPLIER_DEFAULT;
|
||||
private double multiplier = MULTIPLIER_DEFAULT;
|
||||
|
||||
@Setting(value = "Exponent", comment = "Default value: " + EXPONENT_DEFAULT)
|
||||
private float exponent = EXPONENT_DEFAULT;
|
||||
private double exponent = EXPONENT_DEFAULT;
|
||||
|
||||
public int getExponentialBaseModifier() {
|
||||
return baseModifier;
|
||||
}
|
||||
|
||||
public float getExponentialMultiplier() {
|
||||
public double getExponentialMultiplier() {
|
||||
return multiplier;
|
||||
}
|
||||
|
||||
public float getExponentialExponent() {
|
||||
public double getExponentialExponent() {
|
||||
return exponent;
|
||||
}
|
||||
}
|
@@ -7,19 +7,19 @@ import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
|
||||
public class ConfigExperienceFormulaLinear {
|
||||
|
||||
private static final int BASE_DEFAULT = 1020;
|
||||
private static final float MULTIPLIER_DEFAULT = 20.0F;
|
||||
private static final double MULTIPLIER_DEFAULT = 20.0F;
|
||||
|
||||
@Setting(value = "Base-Amount", comment = "Default value: " + BASE_DEFAULT)
|
||||
private int baseModifier = BASE_DEFAULT;
|
||||
|
||||
@Setting(value = "Multiplier", comment = "Default value: " + MULTIPLIER_DEFAULT)
|
||||
private float multiplier = MULTIPLIER_DEFAULT;
|
||||
private double multiplier = MULTIPLIER_DEFAULT;
|
||||
|
||||
public int getLinearBaseModifier() {
|
||||
return baseModifier;
|
||||
}
|
||||
|
||||
public float getLinearMultiplier() {
|
||||
public double getLinearMultiplier() {
|
||||
return multiplier;
|
||||
}
|
||||
|
||||
|
@@ -86,7 +86,7 @@ public class ConfigLeveling {
|
||||
return configExperienceBars;
|
||||
}
|
||||
|
||||
public float getGuaranteedMinimums() {
|
||||
public double getGuaranteedMinimums() {
|
||||
return configLevelingDiminishedReturns.getGuaranteedMinimums();
|
||||
}
|
||||
|
||||
|
@@ -25,8 +25,8 @@ public class CustomXPPerkSerializer implements TypeSerializer<CustomXPPerk> {
|
||||
public CustomXPPerk deserialize(@NonNull TypeToken<?> type, @NonNull ConfigurationNode value) throws ObjectMappingException {
|
||||
String perkName = value.getNode(PERK_NAME).getValue(TypeToken.of(String.class));
|
||||
|
||||
Map<PrimarySkillType, Float> map = value.getNode(XP_BOOST_NODE_ROOT).getValue(new TypeToken<Map<PrimarySkillType, Float>>(){});
|
||||
HashMap<PrimarySkillType, Float> xpBoostHashMap = new HashMap<>(map);
|
||||
Map<PrimarySkillType, Double> map = value.getNode(XP_BOOST_NODE_ROOT).getValue(new TypeToken<Map<PrimarySkillType, Double>>(){});
|
||||
HashMap<PrimarySkillType, Double> xpBoostHashMap = new HashMap<>(map);
|
||||
|
||||
CustomXPPerk customXPPerk = new CustomXPPerk(perkName);
|
||||
customXPPerk.setCustomXPMultiplierMap(xpBoostHashMap);
|
||||
@@ -38,15 +38,15 @@ public class CustomXPPerkSerializer implements TypeSerializer<CustomXPPerk> {
|
||||
public void serialize(@NonNull TypeToken<?> type, @Nullable CustomXPPerk obj, @NonNull ConfigurationNode value) throws ObjectMappingException {
|
||||
String name = obj.getPerkName();
|
||||
|
||||
HashMap<PrimarySkillType, Float> xpBoostMap = new HashMap<>();
|
||||
HashMap<PrimarySkillType, Double> xpBoostMap = new HashMap<>();
|
||||
|
||||
value.getNode(PERK_NAME).setValue(name);
|
||||
|
||||
for (PrimarySkillType primarySkillType : PrimarySkillType.values()) {
|
||||
float xpMultValue = obj.getXPMultiplierValue(primarySkillType);
|
||||
Double xpMultValue = obj.getXPMultiplierValue(primarySkillType);
|
||||
|
||||
//Ignore default values
|
||||
if (xpMultValue == 1.0F)
|
||||
if (xpMultValue == 1.0)
|
||||
continue;
|
||||
|
||||
xpBoostMap.put(primarySkillType, obj.getXPMultiplierValue(primarySkillType));
|
||||
|
@@ -17,8 +17,8 @@ public class DamagePropertySerializer implements TypeSerializer<DamageProperty>
|
||||
@Nullable
|
||||
@Override
|
||||
public DamageProperty deserialize(@NonNull TypeToken<?> type, @NonNull ConfigurationNode value) throws ObjectMappingException {
|
||||
Float pvp = value.getNode(PVP_NODE).getValue(TypeToken.of(Float.class));
|
||||
Float pve = value.getNode(PVE_NODE).getValue(TypeToken.of(Float.class));
|
||||
Double pvp = value.getNode(PVP_NODE).getValue(TypeToken.of(Double.class));
|
||||
Double pve = value.getNode(PVE_NODE).getValue(TypeToken.of(Double.class));
|
||||
DamageProperty damageProperty = new AbstractDamageProperty(pve, pvp);
|
||||
return damageProperty;
|
||||
}
|
||||
|
Reference in New Issue
Block a user