mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-24 22:26:46 +01:00
more API migration
This commit is contained in:
parent
d8f8d541fc
commit
407b6fb343
@ -15,7 +15,10 @@ import com.gmail.nossr50.util.experience.MMOExperienceBarManager;
|
|||||||
import com.gmail.nossr50.util.skills.SkillUtils;
|
import com.gmail.nossr50.util.skills.SkillUtils;
|
||||||
import com.gmail.nossr50.util.text.StringUtils;
|
import com.gmail.nossr50.util.text.StringUtils;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
import com.neetgames.mcmmo.MobHealthBarType;
|
||||||
|
import com.neetgames.mcmmo.UniqueDataType;
|
||||||
import com.neetgames.mcmmo.exceptions.ProfileRetrievalException;
|
import com.neetgames.mcmmo.exceptions.ProfileRetrievalException;
|
||||||
|
import com.neetgames.mcmmo.skill.SkillBossBarState;
|
||||||
import org.apache.commons.lang.NullArgumentException;
|
import org.apache.commons.lang.NullArgumentException;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -321,7 +324,7 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void writeUserToLine(MMODataSnapshot mmoDataSnapshot, String playerName, UUID uuid, StringBuilder writer) {
|
private void writeUserToLine(@NotNull MMODataSnapshot mmoDataSnapshot, @NotNull String playerName, @NotNull UUID uuid, @NotNull StringBuilder writer) {
|
||||||
ImmutableMap<PrimarySkillType, Integer> primarySkillLevelMap = mmoDataSnapshot.getSkillLevelValues();
|
ImmutableMap<PrimarySkillType, Integer> primarySkillLevelMap = mmoDataSnapshot.getSkillLevelValues();
|
||||||
ImmutableMap<PrimarySkillType, Float> primarySkillExperienceValueMap = mmoDataSnapshot.getSkillExperienceValues();
|
ImmutableMap<PrimarySkillType, Float> primarySkillExperienceValueMap = mmoDataSnapshot.getSkillExperienceValues();
|
||||||
|
|
||||||
@ -1267,7 +1270,7 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager {
|
|||||||
EnumMap<PrimarySkillType, Float> skillExperienceValueMap = new EnumMap<PrimarySkillType, Float>(PrimarySkillType.class); // Skill & XP
|
EnumMap<PrimarySkillType, Float> skillExperienceValueMap = new EnumMap<PrimarySkillType, Float>(PrimarySkillType.class); // Skill & XP
|
||||||
EnumMap<SuperAbilityType, Integer> skillAbilityDeactivationTimeStamp = new EnumMap<SuperAbilityType, Integer>(SuperAbilityType.class); // Ability & Cooldown
|
EnumMap<SuperAbilityType, Integer> skillAbilityDeactivationTimeStamp = new EnumMap<SuperAbilityType, Integer>(SuperAbilityType.class); // Ability & Cooldown
|
||||||
EnumMap<UniqueDataType, Integer> uniquePlayerDataMap = new EnumMap<UniqueDataType, Integer>(UniqueDataType.class);
|
EnumMap<UniqueDataType, Integer> uniquePlayerDataMap = new EnumMap<UniqueDataType, Integer>(UniqueDataType.class);
|
||||||
EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState> xpBarStateMap = new EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState>(PrimarySkillType.class);
|
EnumMap<PrimarySkillType, SkillBossBarState> xpBarStateMap = new EnumMap<PrimarySkillType, SkillBossBarState>(PrimarySkillType.class);
|
||||||
// MobHealthBarType mobHealthbarType;
|
// MobHealthBarType mobHealthbarType;
|
||||||
int scoreboardTipsShown;
|
int scoreboardTipsShown;
|
||||||
|
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.gmail.nossr50.database;
|
package com.gmail.nossr50.database;
|
||||||
|
|
||||||
import com.gmail.nossr50.api.exceptions.InvalidSkillException;
|
|
||||||
import com.gmail.nossr50.api.exceptions.ProfileRetrievalException;
|
|
||||||
import com.gmail.nossr50.config.Config;
|
import com.gmail.nossr50.config.Config;
|
||||||
import com.gmail.nossr50.datatypes.database.DatabaseType;
|
import com.gmail.nossr50.datatypes.database.DatabaseType;
|
||||||
import com.gmail.nossr50.datatypes.database.PlayerStat;
|
import com.gmail.nossr50.datatypes.database.PlayerStat;
|
||||||
@ -12,10 +10,12 @@ import com.gmail.nossr50.datatypes.skills.SuperAbilityType;
|
|||||||
import com.gmail.nossr50.mcMMO;
|
import com.gmail.nossr50.mcMMO;
|
||||||
import com.gmail.nossr50.runnables.database.UUIDUpdateAsyncTask;
|
import com.gmail.nossr50.runnables.database.UUIDUpdateAsyncTask;
|
||||||
import com.gmail.nossr50.util.Misc;
|
import com.gmail.nossr50.util.Misc;
|
||||||
import com.gmail.nossr50.util.experience.MMOExperienceBarManager;
|
|
||||||
import com.gmail.nossr50.util.skills.SkillUtils;
|
import com.gmail.nossr50.util.skills.SkillUtils;
|
||||||
import com.neetgames.mcmmo.MobHealthBarType;
|
import com.neetgames.mcmmo.MobHealthBarType;
|
||||||
import com.neetgames.mcmmo.UniqueDataType;
|
import com.neetgames.mcmmo.UniqueDataType;
|
||||||
|
import com.neetgames.mcmmo.exceptions.InvalidSkillException;
|
||||||
|
import com.neetgames.mcmmo.exceptions.ProfileRetrievalException;
|
||||||
|
import com.neetgames.mcmmo.skill.SkillBossBarState;
|
||||||
import org.apache.commons.lang.NullArgumentException;
|
import org.apache.commons.lang.NullArgumentException;
|
||||||
import org.apache.tomcat.jdbc.pool.DataSource;
|
import org.apache.tomcat.jdbc.pool.DataSource;
|
||||||
import org.apache.tomcat.jdbc.pool.PoolProperties;
|
import org.apache.tomcat.jdbc.pool.PoolProperties;
|
||||||
@ -1193,7 +1193,7 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager {
|
|||||||
EnumMap<PrimarySkillType, Float> skillsXp = new EnumMap<PrimarySkillType, Float>(PrimarySkillType.class); // Skill & XP
|
EnumMap<PrimarySkillType, Float> skillsXp = new EnumMap<PrimarySkillType, Float>(PrimarySkillType.class); // Skill & XP
|
||||||
EnumMap<SuperAbilityType, Integer> skillsDATS = new EnumMap<SuperAbilityType, Integer>(SuperAbilityType.class); // Ability & Cooldown
|
EnumMap<SuperAbilityType, Integer> skillsDATS = new EnumMap<SuperAbilityType, Integer>(SuperAbilityType.class); // Ability & Cooldown
|
||||||
EnumMap<UniqueDataType, Integer> uniqueData = new EnumMap<UniqueDataType, Integer>(UniqueDataType.class); //Chimaera wing cooldown and other misc info
|
EnumMap<UniqueDataType, Integer> uniqueData = new EnumMap<UniqueDataType, Integer>(UniqueDataType.class); //Chimaera wing cooldown and other misc info
|
||||||
EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState> xpBarStateMap = new EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState>(PrimarySkillType.class);
|
EnumMap<PrimarySkillType, SkillBossBarState> xpBarStateMap = new EnumMap<PrimarySkillType, SkillBossBarState>(PrimarySkillType.class);
|
||||||
|
|
||||||
MobHealthBarType mobHealthbarType;
|
MobHealthBarType mobHealthbarType;
|
||||||
UUID uuid;
|
UUID uuid;
|
||||||
|
@ -4,6 +4,9 @@ import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
|||||||
import com.gmail.nossr50.datatypes.skills.SuperAbilityType;
|
import com.gmail.nossr50.datatypes.skills.SuperAbilityType;
|
||||||
import com.gmail.nossr50.mcMMO;
|
import com.gmail.nossr50.mcMMO;
|
||||||
import com.gmail.nossr50.util.experience.MMOExperienceBarManager;
|
import com.gmail.nossr50.util.experience.MMOExperienceBarManager;
|
||||||
|
import com.neetgames.mcmmo.MobHealthBarType;
|
||||||
|
import com.neetgames.mcmmo.UniqueDataType;
|
||||||
|
import com.neetgames.mcmmo.skill.SkillBossBarState;
|
||||||
import org.apache.commons.lang.NullArgumentException;
|
import org.apache.commons.lang.NullArgumentException;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -30,7 +33,7 @@ public class PersistentPlayerDataBuilder {
|
|||||||
private @Nullable EnumMap<PrimarySkillType, Float> skillExperienceValues;
|
private @Nullable EnumMap<PrimarySkillType, Float> skillExperienceValues;
|
||||||
private @Nullable EnumMap<SuperAbilityType, Integer> abilityDeactivationTimestamps; // Ability & Cooldown
|
private @Nullable EnumMap<SuperAbilityType, Integer> abilityDeactivationTimestamps; // Ability & Cooldown
|
||||||
private @Nullable EnumMap<UniqueDataType, Integer> uniquePlayerData; //Misc data that doesn't fit into other categories (chimaera wing, etc..)
|
private @Nullable EnumMap<UniqueDataType, Integer> uniquePlayerData; //Misc data that doesn't fit into other categories (chimaera wing, etc..)
|
||||||
private @Nullable EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState> barStateMap;
|
private @Nullable EnumMap<PrimarySkillType, SkillBossBarState> barStateMap;
|
||||||
|
|
||||||
/* Special Flags */
|
/* Special Flags */
|
||||||
private boolean partyChatSpying;
|
private boolean partyChatSpying;
|
||||||
@ -99,8 +102,8 @@ public class PersistentPlayerDataBuilder {
|
|||||||
return new PersistentPlayerData(playerUUID, playerName, partyChatSpying, skillLevelValues, skillExperienceValues, abilityDeactivationTimestamps, uniquePlayerData, barStateMap, scoreboardTipsShown, mobHealthBarType, lastLogin, leaderBoardExemption);
|
return new PersistentPlayerData(playerUUID, playerName, partyChatSpying, skillLevelValues, skillExperienceValues, abilityDeactivationTimestamps, uniquePlayerData, barStateMap, scoreboardTipsShown, mobHealthBarType, lastLogin, leaderBoardExemption);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateBarStateMapEntries(@NotNull EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState> map) {
|
private void validateBarStateMapEntries(@NotNull EnumMap<PrimarySkillType, SkillBossBarState> map) {
|
||||||
EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState> barMapDefaults = MMOExperienceBarManager.generateDefaultBarStateMap();
|
EnumMap<PrimarySkillType, SkillBossBarState> barMapDefaults = MMOExperienceBarManager.generateDefaultBarStateMap();
|
||||||
|
|
||||||
for(PrimarySkillType primarySkillType : PrimarySkillType.values()) {
|
for(PrimarySkillType primarySkillType : PrimarySkillType.values()) {
|
||||||
map.putIfAbsent(primarySkillType, barMapDefaults.get(primarySkillType));
|
map.putIfAbsent(primarySkillType, barMapDefaults.get(primarySkillType));
|
||||||
@ -223,11 +226,11 @@ public class PersistentPlayerDataBuilder {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public @Nullable EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState> getBarStateMap() {
|
public @Nullable EnumMap<PrimarySkillType, SkillBossBarState> getBarStateMap() {
|
||||||
return barStateMap;
|
return barStateMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
public @NotNull PersistentPlayerDataBuilder setBarStateMap(@NotNull EnumMap<PrimarySkillType, MMOExperienceBarManager.BarState> barStateMap) {
|
public @NotNull PersistentPlayerDataBuilder setBarStateMap(@NotNull EnumMap<PrimarySkillType, SkillBossBarState> barStateMap) {
|
||||||
this.barStateMap = barStateMap;
|
this.barStateMap = barStateMap;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,8 @@ import com.gmail.nossr50.util.compat.layers.persistentdata.AbstractPersistentDat
|
|||||||
import com.gmail.nossr50.util.experience.MMOExperienceBarManager;
|
import com.gmail.nossr50.util.experience.MMOExperienceBarManager;
|
||||||
import com.gmail.nossr50.util.player.NotificationManager;
|
import com.gmail.nossr50.util.player.NotificationManager;
|
||||||
import com.gmail.nossr50.util.text.StringUtils;
|
import com.gmail.nossr50.util.text.StringUtils;
|
||||||
|
import com.neetgames.mcmmo.exceptions.UnexpectedValueException;
|
||||||
|
import com.neetgames.mcmmo.skill.SkillBossBarState;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -42,30 +44,30 @@ public final class SkillUtils {
|
|||||||
*/
|
*/
|
||||||
private SkillUtils() {}
|
private SkillUtils() {}
|
||||||
|
|
||||||
public static void applyXpGain(McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType, float xp, XPGainReason xpGainReason) {
|
public static void applyXpGain(@NotNull McMMOPlayer mmoPlayer, @NotNull PrimarySkillType primarySkillType, float xp, @NotNull XPGainReason xpGainReason) {
|
||||||
mmoPlayer.getExperienceManager().beginXpGain(mmoPlayer.getPlayer(), primarySkillType, xp, xpGainReason, XPGainSource.SELF);
|
mmoPlayer.getExperienceManager().beginXpGain(mmoPlayer.getPlayer(), primarySkillType, xp, xpGainReason, XPGainSource.SELF);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void applyXpGain(McMMOPlayer mmoPlayer, PrimarySkillType primarySkillType, float xp, XPGainReason xpGainReason, XPGainSource xpGainSource) {
|
public static void applyXpGain(@NotNull McMMOPlayer mmoPlayer, @NotNull PrimarySkillType primarySkillType, float xp, @NotNull XPGainReason xpGainReason, @NotNull XPGainSource xpGainSource) {
|
||||||
mmoPlayer.getExperienceManager().beginXpGain(mmoPlayer.getPlayer(), primarySkillType, xp, xpGainReason, xpGainSource);
|
mmoPlayer.getExperienceManager().beginXpGain(mmoPlayer.getPlayer(), primarySkillType, xp, xpGainReason, xpGainSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MMOExperienceBarManager.BarState asBarState(String str) {
|
public static @NotNull SkillBossBarState asBarState(String str) {
|
||||||
for(MMOExperienceBarManager.BarState barState : MMOExperienceBarManager.BarState.values()) {
|
for(SkillBossBarState barState : SkillBossBarState.values()) {
|
||||||
if(barState.toString().equalsIgnoreCase(str)) {
|
if(barState.toString().equalsIgnoreCase(str)) {
|
||||||
return barState;
|
return barState;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mcMMO.p.getLogger().severe("Unable to read bar state for value " + str + " setting to default instead.");
|
mcMMO.p.getLogger().severe("Unable to read bar state for value " + str + " setting to default instead.");
|
||||||
return MMOExperienceBarManager.BarState.NORMAL;
|
return SkillBossBarState.NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Skill Stat Calculations
|
* Skill Stat Calculations
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public static String[] calculateLengthDisplayValues(Player player, float skillValue, PrimarySkillType skill) {
|
public static @NotNull String[] calculateLengthDisplayValues(@NotNull McMMOPlayer mmoPlayer, float skillValue, @NotNull PrimarySkillType skill) {
|
||||||
int maxLength = skill.getSuperAbilityType().getMaxLength();
|
int maxLength = skill.getSuperAbilityType().getMaxLength();
|
||||||
int abilityLengthVar = AdvancedConfig.getInstance().getAbilityLength();
|
int abilityLengthVar = AdvancedConfig.getInstance().getAbilityLength();
|
||||||
int abilityLengthCap = AdvancedConfig.getInstance().getAbilityLengthCap();
|
int abilityLengthCap = AdvancedConfig.getInstance().getAbilityLengthCap();
|
||||||
@ -79,7 +81,7 @@ public final class SkillUtils {
|
|||||||
length = 2 + (int) (skillValue / abilityLengthVar);
|
length = 2 + (int) (skillValue / abilityLengthVar);
|
||||||
}
|
}
|
||||||
|
|
||||||
int enduranceLength = PerksUtils.handleActivationPerks(player, length, maxLength);
|
int enduranceLength = PerksUtils.handleActivationPerks(mmoPlayer.getPlayer(), length, maxLength);
|
||||||
|
|
||||||
if (maxLength != 0) {
|
if (maxLength != 0) {
|
||||||
length = Math.min(length, maxLength);
|
length = Math.min(length, maxLength);
|
||||||
@ -92,10 +94,10 @@ public final class SkillUtils {
|
|||||||
* Others
|
* Others
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public static int handleFoodSkills(Player player, int eventFoodLevel, SubSkillType subSkillType) {
|
public static int handleFoodSkills(@NotNull McMMOPlayer mmoPlayer, int eventFoodLevel, @NotNull SubSkillType subSkillType) {
|
||||||
int curRank = RankUtils.getRank(player, subSkillType);
|
int curRank = RankUtils.getRank(mmoPlayer, subSkillType);
|
||||||
|
|
||||||
int currentFoodLevel = player.getFoodLevel();
|
int currentFoodLevel = mmoPlayer.getPlayer().getFoodLevel();
|
||||||
int foodChange = eventFoodLevel - currentFoodLevel;
|
int foodChange = eventFoodLevel - currentFoodLevel;
|
||||||
|
|
||||||
foodChange+=curRank;
|
foodChange+=curRank;
|
||||||
@ -108,12 +110,12 @@ public final class SkillUtils {
|
|||||||
*
|
*
|
||||||
* @param deactivatedTimeStamp Time of deactivation
|
* @param deactivatedTimeStamp Time of deactivation
|
||||||
* @param cooldown The length of the cooldown
|
* @param cooldown The length of the cooldown
|
||||||
* @param player The Player to check for cooldown perks
|
* @param mmoPlayer The Player to check for cooldown perks
|
||||||
*
|
*
|
||||||
* @return the number of seconds remaining before the cooldown expires
|
* @return the number of seconds remaining before the cooldown expires
|
||||||
*/
|
*/
|
||||||
public static int calculateTimeLeft(long deactivatedTimeStamp, int cooldown, Player player) {
|
public static int calculateTimeLeft(long deactivatedTimeStamp, int cooldown, @NotNull McMMOPlayer mmoPlayer) {
|
||||||
return (int) (((deactivatedTimeStamp + (PerksUtils.handleCooldownPerks(player, cooldown) * Misc.TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / Misc.TIME_CONVERSION_FACTOR);
|
return (int) (((deactivatedTimeStamp + (PerksUtils.handleCooldownPerks(mmoPlayer.getPlayer(), cooldown) * Misc.TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / Misc.TIME_CONVERSION_FACTOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -135,11 +137,11 @@ public final class SkillUtils {
|
|||||||
* @param skillName The name of the skill to check
|
* @param skillName The name of the skill to check
|
||||||
* @return true if this is a valid skill, false otherwise
|
* @return true if this is a valid skill, false otherwise
|
||||||
*/
|
*/
|
||||||
public static boolean isSkill(String skillName) {
|
public static boolean isSkill(@NotNull String skillName) {
|
||||||
return Config.getInstance().getLocale().equalsIgnoreCase("en_US") ? PrimarySkillType.getSkill(skillName) != null : isLocalizedSkill(skillName);
|
return Config.getInstance().getLocale().equalsIgnoreCase("en_US") ? PrimarySkillType.getSkill(skillName) != null : isLocalizedSkill(skillName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void sendSkillMessage(Player player, NotificationType notificationType, String key) {
|
public static void sendSkillMessage(@NotNull Player player, @NotNull NotificationType notificationType, @NotNull String key) {
|
||||||
Location location = player.getLocation();
|
Location location = player.getLocation();
|
||||||
|
|
||||||
for (Player otherPlayer : player.getWorld().getPlayers()) {
|
for (Player otherPlayer : player.getWorld().getPlayers()) {
|
||||||
@ -149,7 +151,7 @@ public final class SkillUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void handleAbilitySpeedIncrease(Player player) {
|
public static void handleAbilitySpeedIncrease(@NotNull Player player) {
|
||||||
if (HiddenConfig.getInstance().useEnchantmentBuffs()) {
|
if (HiddenConfig.getInstance().useEnchantmentBuffs()) {
|
||||||
ItemStack heldItem = player.getInventory().getItemInMainHand();
|
ItemStack heldItem = player.getInventory().getItemInMainHand();
|
||||||
|
|
||||||
@ -245,7 +247,7 @@ public final class SkillUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void handleDurabilityChange(ItemStack itemStack, int durabilityModifier) {
|
public static void handleDurabilityChange(@NotNull ItemStack itemStack, int durabilityModifier) {
|
||||||
handleDurabilityChange(itemStack, durabilityModifier, 1.0);
|
handleDurabilityChange(itemStack, durabilityModifier, 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -256,7 +258,7 @@ public final class SkillUtils {
|
|||||||
* @param durabilityModifier the amount to modify the durability by
|
* @param durabilityModifier the amount to modify the durability by
|
||||||
* @param maxDamageModifier the amount to adjust the max damage by
|
* @param maxDamageModifier the amount to adjust the max damage by
|
||||||
*/
|
*/
|
||||||
public static void handleDurabilityChange(ItemStack itemStack, double durabilityModifier, double maxDamageModifier) {
|
public static void handleDurabilityChange(@NotNull ItemStack itemStack, double durabilityModifier, double maxDamageModifier) {
|
||||||
if(itemStack.getItemMeta() != null && itemStack.getItemMeta().isUnbreakable()) {
|
if(itemStack.getItemMeta() != null && itemStack.getItemMeta().isUnbreakable()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -278,8 +280,7 @@ public final class SkillUtils {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
public static @Nullable Material getRepairAndSalvageItem(@NotNull ItemStack inHand) {
|
||||||
public static Material getRepairAndSalvageItem(@NotNull ItemStack inHand) {
|
|
||||||
if (ItemUtils.isDiamondTool(inHand) || ItemUtils.isDiamondArmor(inHand)) {
|
if (ItemUtils.isDiamondTool(inHand) || ItemUtils.isDiamondArmor(inHand)) {
|
||||||
return Material.DIAMOND;
|
return Material.DIAMOND;
|
||||||
}
|
}
|
||||||
@ -306,11 +307,16 @@ public final class SkillUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getRepairAndSalvageQuantities(ItemStack item) {
|
public static int getRepairAndSalvageQuantities(@NotNull ItemStack item) {
|
||||||
|
if(getRepairAndSalvageItem(item) == null) {
|
||||||
|
mcMMO.p.getLogger().severe("No value defined for item "+item.toString()+" in getRepairAndSalvageItem()");
|
||||||
|
throw new UnexpectedValueException();
|
||||||
|
}
|
||||||
|
|
||||||
return getRepairAndSalvageQuantities(item.getType(), getRepairAndSalvageItem(item));
|
return getRepairAndSalvageQuantities(item.getType(), getRepairAndSalvageItem(item));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getRepairAndSalvageQuantities(Material itemMaterial, Material recipeMaterial) {
|
public static int getRepairAndSalvageQuantities(@NotNull Material itemMaterial, @NotNull Material recipeMaterial) {
|
||||||
int quantity = 0;
|
int quantity = 0;
|
||||||
|
|
||||||
if(mcMMO.getMaterialMapStore().isNetheriteTool(itemMaterial) || mcMMO.getMaterialMapStore().isNetheriteArmor(itemMaterial)) {
|
if(mcMMO.getMaterialMapStore().isNetheriteTool(itemMaterial) || mcMMO.getMaterialMapStore().isNetheriteArmor(itemMaterial)) {
|
||||||
|
329
src/main/resources/modified_skillranks.yml
Normal file
329
src/main/resources/modified_skillranks.yml
Normal file
@ -0,0 +1,329 @@
|
|||||||
|
# This file defines the rank level requirements for a subskill.
|
||||||
|
# You cannot alter how many ranks a skill has, that is coded into mcMMO directly.
|
||||||
|
# You can however, change when they unlock, if you make all ranks of a skill level 0 for example every player will have the most powerful version of that skill right away.
|
||||||
|
# Retro Mode and Standard have separate config settings to make it easier for server owners to understand the difference between the two.
|
||||||
|
# Retro Mode is setup to be an entirely cosmetic change, keeping the old 0-1000 feeling of mcMMO.
|
||||||
|
# Retro Mode has 10x faster leveling and 10x higher skill requirements, if you do the math you can see its the same as Standard and only cosmetic!.
|
||||||
|
###
|
||||||
|
Alchemy:
|
||||||
|
Catalysis:
|
||||||
|
Rank_1: 0
|
||||||
|
Concoctions:
|
||||||
|
Rank_1: 0
|
||||||
|
Rank_2: 100
|
||||||
|
Rank_3: 200
|
||||||
|
Rank_4: 350
|
||||||
|
Rank_5: 500
|
||||||
|
Rank_6: 750
|
||||||
|
Rank_7: 900
|
||||||
|
Rank_8: 1000
|
||||||
|
Archery:
|
||||||
|
ArcheryLimitBreak:
|
||||||
|
Rank_1: 100
|
||||||
|
Rank_2: 200
|
||||||
|
Rank_3: 300
|
||||||
|
Rank_4: 400
|
||||||
|
Rank_5: 500
|
||||||
|
Rank_6: 600
|
||||||
|
Rank_7: 700
|
||||||
|
Rank_8: 800
|
||||||
|
Rank_9: 900
|
||||||
|
Rank_10: 1000
|
||||||
|
ArrowRetrieval:
|
||||||
|
Rank_1: 1
|
||||||
|
SkillShot:
|
||||||
|
Rank_1: 1
|
||||||
|
Rank_2: 100
|
||||||
|
Rank_3: 150
|
||||||
|
Rank_4: 200
|
||||||
|
Rank_5: 250
|
||||||
|
Rank_6: 300
|
||||||
|
Rank_7: 350
|
||||||
|
Rank_8: 400
|
||||||
|
Rank_9: 450
|
||||||
|
Rank_10: 500
|
||||||
|
Rank_11: 550
|
||||||
|
Rank_12: 600
|
||||||
|
Rank_13: 650
|
||||||
|
Rank_14: 700
|
||||||
|
Rank_15: 750
|
||||||
|
Rank_16: 800
|
||||||
|
Rank_17: 850
|
||||||
|
Rank_18: 900
|
||||||
|
Rank_19: 950
|
||||||
|
Rank_20: 1000
|
||||||
|
Acrobatics:
|
||||||
|
Dodge:
|
||||||
|
Rank_1: 1
|
||||||
|
Axes:
|
||||||
|
AxesLimitBreak:
|
||||||
|
Rank_1: 100
|
||||||
|
Rank_2: 200
|
||||||
|
Rank_3: 300
|
||||||
|
Rank_4: 400
|
||||||
|
Rank_5: 500
|
||||||
|
Rank_6: 600
|
||||||
|
Rank_7: 700
|
||||||
|
Rank_8: 800
|
||||||
|
Rank_9: 900
|
||||||
|
Rank_10: 1000
|
||||||
|
SkullSplitter:
|
||||||
|
Rank_1: 50
|
||||||
|
CriticalStrikes:
|
||||||
|
Rank_1: 1
|
||||||
|
GreaterImpact:
|
||||||
|
Rank_1: 250
|
||||||
|
ArmorImpact:
|
||||||
|
Rank_1: 1
|
||||||
|
Rank_2: 100
|
||||||
|
Rank_3: 150
|
||||||
|
Rank_4: 200
|
||||||
|
Rank_5: 250
|
||||||
|
Rank_6: 300
|
||||||
|
Rank_7: 350
|
||||||
|
Rank_8: 400
|
||||||
|
Rank_9: 450
|
||||||
|
Rank_10: 500
|
||||||
|
Rank_11: 550
|
||||||
|
Rank_12: 600
|
||||||
|
Rank_13: 650
|
||||||
|
Rank_14: 700
|
||||||
|
Rank_15: 750
|
||||||
|
Rank_16: 800
|
||||||
|
Rank_17: 850
|
||||||
|
Rank_18: 900
|
||||||
|
Rank_19: 950
|
||||||
|
Rank_20: 1000
|
||||||
|
AxeMastery:
|
||||||
|
Rank_1: 50
|
||||||
|
Rank_2: 100
|
||||||
|
Rank_3: 150
|
||||||
|
Rank_4: 200
|
||||||
|
Taming:
|
||||||
|
Rank_1: 1
|
||||||
|
Gore:
|
||||||
|
Rank_1: 150
|
||||||
|
CallOfTheWild:
|
||||||
|
Rank_1: 1
|
||||||
|
Pummel:
|
||||||
|
Rank_1: 200
|
||||||
|
FastFoodService:
|
||||||
|
Rank_1: 200
|
||||||
|
EnvironmentallyAware:
|
||||||
|
Rank_1: 100
|
||||||
|
ThickFur:
|
||||||
|
Rank_1: 250
|
||||||
|
HolyHound:
|
||||||
|
Rank_1: 350
|
||||||
|
ShockProof:
|
||||||
|
Rank_1: 500
|
||||||
|
SharpenedClaws:
|
||||||
|
Rank_1: 750
|
||||||
|
Smelting:
|
||||||
|
FuelEfficiency:
|
||||||
|
Rank_1: 100
|
||||||
|
Rank_2: 500
|
||||||
|
Rank_3: 750
|
||||||
|
UnderstandingTheArt:
|
||||||
|
Rank_1: 100
|
||||||
|
Rank_2: 250
|
||||||
|
Rank_3: 350
|
||||||
|
Rank_4: 500
|
||||||
|
Rank_5: 650
|
||||||
|
Rank_6: 750
|
||||||
|
Rank_7: 850
|
||||||
|
Rank_8: 1000
|
||||||
|
Salvage:
|
||||||
|
ScrapCollector:
|
||||||
|
Rank_1: 1
|
||||||
|
Rank_2: 100
|
||||||
|
Rank_3: 150
|
||||||
|
Rank_4: 200
|
||||||
|
Rank_5: 250
|
||||||
|
Rank_6: 300
|
||||||
|
Rank_7: 350
|
||||||
|
Rank_8: 400
|
||||||
|
ArcaneSalvage:
|
||||||
|
Rank_1: 100
|
||||||
|
Rank_2: 250
|
||||||
|
Rank_3: 350
|
||||||
|
Rank_4: 500
|
||||||
|
Rank_5: 650
|
||||||
|
Rank_6: 750
|
||||||
|
Rank_7: 850
|
||||||
|
Rank_8: 1000
|
||||||
|
Mining:
|
||||||
|
DoubleDrops:
|
||||||
|
Rank_1: 1
|
||||||
|
SuperBreaker:
|
||||||
|
Rank_1: 50
|
||||||
|
# For now make sure rank 1 is the same as blast mining rank 1, it's a bit hacky, I'll fix it later
|
||||||
|
BiggerBombs:
|
||||||
|
Rank_1: 100
|
||||||
|
# For now make sure rank 1 is the same as blast mining rank 1, it's a bit hacky, I'll fix it later
|
||||||
|
DemolitionsExpertise:
|
||||||
|
Rank_1: 100
|
||||||
|
BlastMining:
|
||||||
|
Rank_1: 100
|
||||||
|
Rank_2: 250
|
||||||
|
Rank_3: 350
|
||||||
|
Rank_4: 500
|
||||||
|
Rank_5: 650
|
||||||
|
Rank_6: 750
|
||||||
|
Rank_7: 850
|
||||||
|
Rank_8: 1000
|
||||||
|
Herbalism:
|
||||||
|
DoubleDrops:
|
||||||
|
Rank_1: 1
|
||||||
|
GreenTerra:
|
||||||
|
Rank_1: 50
|
||||||
|
GreenThumb:
|
||||||
|
Rank_1: 250
|
||||||
|
Rank_2: 500
|
||||||
|
Rank_3: 750
|
||||||
|
Rank_4: 1000
|
||||||
|
FarmersDiet:
|
||||||
|
Rank_1: 200
|
||||||
|
Rank_2: 400
|
||||||
|
Rank_3: 600
|
||||||
|
Rank_4: 800
|
||||||
|
Rank_5: 1000
|
||||||
|
Fishing:
|
||||||
|
MagicHunter:
|
||||||
|
Rank_1: 200
|
||||||
|
Shake:
|
||||||
|
Rank_1: 150
|
||||||
|
MasterAngler:
|
||||||
|
Rank_1: 1
|
||||||
|
Rank_2: 200
|
||||||
|
Rank_3: 300
|
||||||
|
Rank_4: 400
|
||||||
|
Rank_5: 600
|
||||||
|
Rank_6: 700
|
||||||
|
Rank_7: 800
|
||||||
|
Rank_8: 900
|
||||||
|
IceFishing:
|
||||||
|
Rank_1: 50
|
||||||
|
FishermansDiet:
|
||||||
|
Rank_1: 200
|
||||||
|
Rank_2: 400
|
||||||
|
Rank_3: 600
|
||||||
|
Rank_4: 800
|
||||||
|
Rank_5: 1000
|
||||||
|
TreasureHunter:
|
||||||
|
Rank_1: 1
|
||||||
|
Rank_2: 250
|
||||||
|
Rank_3: 350
|
||||||
|
Rank_4: 500
|
||||||
|
Rank_5: 650
|
||||||
|
Rank_6: 750
|
||||||
|
Rank_7: 850
|
||||||
|
Rank_8: 1000
|
||||||
|
Swords:
|
||||||
|
SwordsLimitBreak:
|
||||||
|
Rank_1: 100
|
||||||
|
Rank_2: 200
|
||||||
|
Rank_3: 300
|
||||||
|
Rank_4: 400
|
||||||
|
Rank_5: 500
|
||||||
|
Rank_6: 600
|
||||||
|
Rank_7: 700
|
||||||
|
Rank_8: 800
|
||||||
|
Rank_9: 900
|
||||||
|
Rank_10: 1000
|
||||||
|
Stab:
|
||||||
|
Rank_1: 750
|
||||||
|
Rank_2: 1000
|
||||||
|
CounterAttack:
|
||||||
|
Rank_1: 200
|
||||||
|
Rupture:
|
||||||
|
Rank_1: 1
|
||||||
|
Rank_2: 150
|
||||||
|
Rank_3: 750
|
||||||
|
Rank_4: 900
|
||||||
|
SerratedStrikes:
|
||||||
|
Rank_1: 50
|
||||||
|
Unarmed:
|
||||||
|
UnarmedLimitBreak:
|
||||||
|
Rank_1: 100
|
||||||
|
Rank_2: 200
|
||||||
|
Rank_3: 300
|
||||||
|
Rank_4: 400
|
||||||
|
Rank_5: 500
|
||||||
|
Rank_6: 600
|
||||||
|
Rank_7: 700
|
||||||
|
Rank_8: 800
|
||||||
|
Rank_9: 900
|
||||||
|
Rank_10: 1000
|
||||||
|
Berserk:
|
||||||
|
Rank_1: 50
|
||||||
|
ArrowDeflect:
|
||||||
|
Rank_1: 200
|
||||||
|
Disarm:
|
||||||
|
Rank_1: 250
|
||||||
|
IronGrip:
|
||||||
|
Rank_1: 600
|
||||||
|
SteelArmStyle:
|
||||||
|
Rank_1: 1
|
||||||
|
Rank_2: 100
|
||||||
|
Rank_3: 150
|
||||||
|
Rank_4: 200
|
||||||
|
Rank_5: 250
|
||||||
|
Rank_6: 300
|
||||||
|
Rank_7: 350
|
||||||
|
Rank_8: 400
|
||||||
|
Rank_9: 450
|
||||||
|
Rank_10: 500
|
||||||
|
Rank_11: 550
|
||||||
|
Rank_12: 600
|
||||||
|
Rank_13: 650
|
||||||
|
Rank_14: 700
|
||||||
|
Rank_15: 750
|
||||||
|
Rank_16: 800
|
||||||
|
Rank_17: 850
|
||||||
|
Rank_18: 900
|
||||||
|
Rank_19: 950
|
||||||
|
Rank_20: 1000
|
||||||
|
|
||||||
|
Woodcutting:
|
||||||
|
TreeFeller:
|
||||||
|
Rank_1: 50
|
||||||
|
Rank_2: 250
|
||||||
|
Rank_3: 500
|
||||||
|
Rank_4: 750
|
||||||
|
Rank_5: 1000
|
||||||
|
HarvestLumber:
|
||||||
|
Rank_1: 1
|
||||||
|
KnockOnWood:
|
||||||
|
Rank_1: 300
|
||||||
|
Rank_2: 600
|
||||||
|
LeafBlower:
|
||||||
|
Rank_1: 150
|
||||||
|
Rank_2: 350
|
||||||
|
Rank_3: 650
|
||||||
|
Excavation:
|
||||||
|
GigaDrillBreaker:
|
||||||
|
Rank_1: 50
|
||||||
|
Archaeology:
|
||||||
|
Rank_1: 1
|
||||||
|
Rank_2: 250
|
||||||
|
Rank_3: 350
|
||||||
|
Rank_4: 500
|
||||||
|
Rank_5: 650
|
||||||
|
Rank_6: 750
|
||||||
|
Rank_7: 850
|
||||||
|
Rank_8: 1000
|
||||||
|
Repair:
|
||||||
|
RepairMastery:
|
||||||
|
Rank_1: 1
|
||||||
|
SuperRepair:
|
||||||
|
Rank_1: 400
|
||||||
|
ArcaneForging:
|
||||||
|
Rank_1: 100
|
||||||
|
Rank_2: 250
|
||||||
|
Rank_3: 350
|
||||||
|
Rank_4: 500
|
||||||
|
Rank_5: 650
|
||||||
|
Rank_6: 750
|
||||||
|
Rank_7: 850
|
||||||
|
Rank_8: 1000
|
Loading…
Reference in New Issue
Block a user