mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-23 05:36:46 +01:00
Updates to PlayerProfile.java
This commit is contained in:
parent
ae8997b4f3
commit
6a8737547f
@ -873,270 +873,210 @@ public class PlayerProfile {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds XP to the player, doesn't calculate for XP Rate
|
* Adds XP to the player, doesn't calculate for XP Rate
|
||||||
|
*
|
||||||
* @param skillType The skill to add XP to
|
* @param skillType The skill to add XP to
|
||||||
* @param newvalue The amount of XP to add
|
* @param newValue The amount of XP to add
|
||||||
*/
|
*/
|
||||||
public void addXPOverrideNoBonus(SkillType skillType, int newvalue)
|
public void addXPOverrideNoBonus(SkillType skillType, int newValue) {
|
||||||
{
|
Player player = Bukkit.getPlayer(playerName);
|
||||||
if(skillType == SkillType.ALL)
|
|
||||||
{
|
|
||||||
for(SkillType x : SkillType.values())
|
|
||||||
{
|
|
||||||
if(x == SkillType.ALL)
|
|
||||||
continue;
|
|
||||||
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(Bukkit.getPlayer(playerName), x, newvalue));
|
|
||||||
skillsXp.put(x, skillsXp.get(x)+newvalue);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
int xp = newvalue;
|
|
||||||
|
|
||||||
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(Bukkit.getPlayer(playerName), skillType, xp));
|
if (skillType.equals(SkillType.ALL)) {
|
||||||
skillsXp.put(skillType, skillsXp.get(skillType)+xp);
|
for (SkillType x : SkillType.values()) {
|
||||||
|
if (x.equals(SkillType.ALL)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(player, x, newValue));
|
||||||
|
skillsXp.put(x, skillsXp.get(x) + newValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(player, skillType, newValue));
|
||||||
|
skillsXp.put(skillType, skillsXp.get(skillType) + newValue);
|
||||||
lastgained = skillType;
|
lastgained = skillType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds XP to the player, this ignores skill modifiers
|
* Adds XP to the player, this ignores skill modifiers.
|
||||||
|
*
|
||||||
* @param skillType The skill to add XP to
|
* @param skillType The skill to add XP to
|
||||||
* @param newvalue The amount of XP to add
|
* @param newValue The amount of XP to add
|
||||||
*/
|
*/
|
||||||
public void addXPOverride(SkillType skillType, int newvalue)
|
public void addXPOverride(SkillType skillType, int newValue) {
|
||||||
{
|
Player player = Bukkit.getPlayer(playerName);
|
||||||
if(skillType == SkillType.ALL)
|
|
||||||
{
|
|
||||||
for(SkillType x : SkillType.values())
|
|
||||||
{
|
|
||||||
if(x == SkillType.ALL)
|
|
||||||
continue;
|
|
||||||
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(Bukkit.getPlayer(playerName), x, newvalue));
|
|
||||||
skillsXp.put(x, skillsXp.get(x)+newvalue);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
int xp = newvalue;
|
|
||||||
|
|
||||||
xp=xp*LoadProperties.xpGainMultiplier;
|
if (skillType.equals(SkillType.ALL)) {
|
||||||
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(Bukkit.getPlayer(playerName), skillType, xp));
|
for (SkillType x : SkillType.values()) {
|
||||||
skillsXp.put(skillType, skillsXp.get(skillType)+xp);
|
if (x.equals(SkillType.ALL)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(player, x, newValue));
|
||||||
|
skillsXp.put(x, skillsXp.get(x) + newValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
int xp = newValue * LoadProperties.xpGainMultiplier;
|
||||||
|
|
||||||
|
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(player, skillType, xp));
|
||||||
|
skillsXp.put(skillType, skillsXp.get(skillType) + xp);
|
||||||
lastgained = skillType;
|
lastgained = skillType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds XP to the player, this is affected by skill modifiers and xp rate
|
* Adds XP to the player, this is affected by skill modifiers and XP Rate
|
||||||
|
*
|
||||||
* @param skillType The skill to add XP to
|
* @param skillType The skill to add XP to
|
||||||
* @param newvalue The amount of XP to add
|
* @param newvalue The amount of XP to add
|
||||||
|
* @param player The player to add XP to
|
||||||
*/
|
*/
|
||||||
public void addXP(SkillType skillType, int newvalue, Player thisplayer)
|
public void addXP(SkillType skillType, int newValue, Player player) {
|
||||||
{
|
if (System.currentTimeMillis() < ((xpGainATS * 1000) + 250) || player.getGameMode().equals(GameMode.CREATIVE)) {
|
||||||
if(System.currentTimeMillis() < ((xpGainATS*1000)+250) || thisplayer.getGameMode() == GameMode.CREATIVE)
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//Setup a timestamp of when xp was given
|
xpGainATS = (int) (System.currentTimeMillis() / 1000); //Setup a timestamp of when xp was given
|
||||||
xpGainATS = (int) (System.currentTimeMillis()/1000);
|
|
||||||
|
|
||||||
double bonusModifier = 0;
|
double bonusModifier = 0;
|
||||||
//String leaderName = "";
|
|
||||||
|
|
||||||
if(inParty())
|
if (inParty()) {
|
||||||
{
|
for (Player x : Party.getInstance().getPartyMembers(player)) {
|
||||||
for(Player x : Party.getInstance().getPartyMembers(thisplayer))
|
if (x.isOnline() && !x.getName().equals(player.getName()) && Party.getInstance().isPartyLeader(x.getName(), this.getParty())) {
|
||||||
{
|
if (m.isNear(player.getLocation(), x.getLocation(), 25)) {
|
||||||
if(x.isOnline() && !x.getName().equals(thisplayer.getName()) && Party.getInstance().isPartyLeader(x.getName(), this.getParty()))
|
|
||||||
{
|
|
||||||
//leaderName = x.getName();
|
|
||||||
if(m.isNear(thisplayer.getLocation(), x.getLocation(), 25))
|
|
||||||
{
|
|
||||||
PlayerProfile PartyLeader = Users.getProfile(x);
|
PlayerProfile PartyLeader = Users.getProfile(x);
|
||||||
if(PartyLeader.getSkillLevel(skillType) >= this.getSkillLevel(skillType))
|
|
||||||
{
|
if (PartyLeader.getSkillLevel(skillType) >= this.getSkillLevel(skillType)) {
|
||||||
|
|
||||||
int leaderLevel = PartyLeader.getSkillLevel(skillType);
|
int leaderLevel = PartyLeader.getSkillLevel(skillType);
|
||||||
int difference = leaderLevel - this.getSkillLevel(skillType);
|
int difference = leaderLevel - this.getSkillLevel(skillType);
|
||||||
bonusModifier = (difference*0.75D)/100D;
|
bonusModifier = (difference * 0.75D) / 100D;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(skillType == SkillType.ALL)
|
|
||||||
{
|
|
||||||
for(SkillType x : SkillType.values())
|
|
||||||
{
|
|
||||||
if(x == SkillType.ALL)
|
|
||||||
continue;
|
|
||||||
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(Bukkit.getPlayer(playerName), x, newvalue));
|
|
||||||
skillsXp.put(x, skillsXp.get(x)+newvalue);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
int xp = newvalue;
|
|
||||||
|
|
||||||
switch(skillType)
|
int xp = (int) (newValue / skillType.getXpModifier()) * LoadProperties.xpGainMultiplier;
|
||||||
{
|
|
||||||
case TAMING:
|
|
||||||
xp=(int) (xp/LoadProperties.tamingxpmodifier);
|
|
||||||
break;
|
|
||||||
case MINING:
|
|
||||||
xp=(int) (xp/LoadProperties.miningxpmodifier);
|
|
||||||
break;
|
|
||||||
case WOODCUTTING:
|
|
||||||
xp=(int) (xp/LoadProperties.woodcuttingxpmodifier);
|
|
||||||
break;
|
|
||||||
case REPAIR:
|
|
||||||
xp=(int) (xp/LoadProperties.repairxpmodifier);
|
|
||||||
break;
|
|
||||||
case HERBALISM:
|
|
||||||
xp=(int) (xp/LoadProperties.herbalismxpmodifier);
|
|
||||||
break;
|
|
||||||
case ACROBATICS:
|
|
||||||
xp=(int) (xp/LoadProperties.acrobaticsxpmodifier);
|
|
||||||
break;
|
|
||||||
case SWORDS:
|
|
||||||
xp=(int) (xp/LoadProperties.swordsxpmodifier);
|
|
||||||
break;
|
|
||||||
case ARCHERY:
|
|
||||||
xp=(int) (xp/LoadProperties.archeryxpmodifier);
|
|
||||||
break;
|
|
||||||
case UNARMED:
|
|
||||||
xp=(int) (xp/LoadProperties.unarmedxpmodifier);
|
|
||||||
break;
|
|
||||||
case EXCAVATION:
|
|
||||||
xp=(int) (xp/LoadProperties.excavationxpmodifier);
|
|
||||||
break;
|
|
||||||
case AXES:
|
|
||||||
xp=(int) (xp/LoadProperties.axesxpmodifier);
|
|
||||||
break;
|
|
||||||
case FISHING:
|
|
||||||
xp=(int) (xp/LoadProperties.fishingxpmodifier);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
xp=xp*LoadProperties.xpGainMultiplier;
|
|
||||||
|
|
||||||
if(bonusModifier > 0)
|
if (bonusModifier > 0) {
|
||||||
{
|
if (bonusModifier >= 2) {
|
||||||
if(bonusModifier >= 2)
|
|
||||||
bonusModifier = 2;
|
bonusModifier = 2;
|
||||||
|
}
|
||||||
|
|
||||||
double trueBonus = bonusModifier * xp;
|
double trueBonus = bonusModifier * xp;
|
||||||
xp+=trueBonus;
|
xp += trueBonus;
|
||||||
}
|
}
|
||||||
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(Bukkit.getPlayer(playerName), skillType, xp));
|
|
||||||
skillsXp.put(skillType, skillsXp.get(skillType)+xp);
|
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(player, skillType, xp));
|
||||||
|
skillsXp.put(skillType, skillsXp.get(skillType) + xp);
|
||||||
lastgained = skillType;
|
lastgained = skillType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove XP from a skill.
|
||||||
|
*
|
||||||
|
* @param skillType Type of skill to modify
|
||||||
|
* @param xp Amount of xp to remove
|
||||||
|
*/
|
||||||
|
public void removeXP(SkillType skillType, int xp) {
|
||||||
|
if (skillType.equals(SkillType.ALL)) {
|
||||||
|
for (SkillType skill : SkillType.values()) {
|
||||||
|
if (skill.equals(SkillType.ALL)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
skillsXp.put(skill, skillsXp.get(skill) - xp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
skillsXp.put(skillType, skillsXp.get(skillType) - xp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeXP(SkillType skillType, int newvalue)
|
public void acceptInvite() {
|
||||||
{
|
|
||||||
if(skillType == SkillType.ALL)
|
|
||||||
{
|
|
||||||
skillsXp.put(SkillType.TAMING, skillsXp.get(SkillType.TAMING)-newvalue);
|
|
||||||
skillsXp.put(SkillType.MINING, skillsXp.get(SkillType.MINING)-newvalue);
|
|
||||||
skillsXp.put(SkillType.WOODCUTTING, skillsXp.get(SkillType.WOODCUTTING)-newvalue);
|
|
||||||
skillsXp.put(SkillType.REPAIR, skillsXp.get(SkillType.REPAIR)-newvalue);
|
|
||||||
skillsXp.put(SkillType.HERBALISM, skillsXp.get(SkillType.HERBALISM)-newvalue);
|
|
||||||
skillsXp.put(SkillType.ACROBATICS, skillsXp.get(SkillType.ACROBATICS)-newvalue);
|
|
||||||
skillsXp.put(SkillType.SWORDS, skillsXp.get(SkillType.SWORDS)-newvalue);
|
|
||||||
skillsXp.put(SkillType.ARCHERY, skillsXp.get(SkillType.ARCHERY)-newvalue);
|
|
||||||
skillsXp.put(SkillType.UNARMED, skillsXp.get(SkillType.UNARMED)-newvalue);
|
|
||||||
skillsXp.put(SkillType.EXCAVATION, skillsXp.get(SkillType.EXCAVATION)-newvalue);
|
|
||||||
skillsXp.put(SkillType.AXES, skillsXp.get(SkillType.AXES)-newvalue);
|
|
||||||
skillsXp.put(SkillType.FISHING, skillsXp.get(SkillType.FISHING)-newvalue);
|
|
||||||
} else {
|
|
||||||
skillsXp.put(skillType, skillsXp.get(skillType)-newvalue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void acceptInvite()
|
|
||||||
{
|
|
||||||
party = invite;
|
party = invite;
|
||||||
invite = "";
|
invite = "";
|
||||||
}
|
}
|
||||||
public void modifyInvite(String invitename)
|
|
||||||
{
|
public void modifyInvite(String invitename) {
|
||||||
invite = invitename;
|
invite = invitename;
|
||||||
}
|
}
|
||||||
public String getInvite() { return invite; }
|
|
||||||
|
|
||||||
public void modifyskill(SkillType skillType, int newvalue)
|
public String getInvite() {
|
||||||
{
|
return invite;
|
||||||
if(skillType == SkillType.ALL)
|
}
|
||||||
{
|
|
||||||
skills.put(SkillType.TAMING, newvalue);
|
|
||||||
skills.put(SkillType.MINING, newvalue);
|
|
||||||
skills.put(SkillType.WOODCUTTING, newvalue);
|
|
||||||
skills.put(SkillType.REPAIR, newvalue);
|
|
||||||
skills.put(SkillType.HERBALISM, newvalue);
|
|
||||||
skills.put(SkillType.ACROBATICS, newvalue);
|
|
||||||
skills.put(SkillType.SWORDS, newvalue);
|
|
||||||
skills.put(SkillType.ARCHERY, newvalue);
|
|
||||||
skills.put(SkillType.UNARMED, newvalue);
|
|
||||||
skills.put(SkillType.EXCAVATION, newvalue);
|
|
||||||
skills.put(SkillType.AXES, newvalue);
|
|
||||||
skills.put(SkillType.FISHING, newvalue);
|
|
||||||
|
|
||||||
skillsXp.put(SkillType.TAMING, 0);
|
/**
|
||||||
skillsXp.put(SkillType.MINING, 0);
|
* Modify a skill level.
|
||||||
skillsXp.put(SkillType.WOODCUTTING, 0);
|
*
|
||||||
skillsXp.put(SkillType.REPAIR, 0);
|
* @param skillType Type of skill to modify
|
||||||
skillsXp.put(SkillType.HERBALISM, 0);
|
* @param newValue New level value for the skill
|
||||||
skillsXp.put(SkillType.ACROBATICS, 0);
|
*/
|
||||||
skillsXp.put(SkillType.SWORDS, 0);
|
public void modifyskill(SkillType skillType, int newValue) {
|
||||||
skillsXp.put(SkillType.ARCHERY, 0);
|
if (skillType.equals(SkillType.ALL)) {
|
||||||
skillsXp.put(SkillType.UNARMED, 0);
|
for (SkillType skill : SkillType.values()) {
|
||||||
skillsXp.put(SkillType.EXCAVATION, 0);
|
if (skill.equals(SkillType.ALL)) {
|
||||||
skillsXp.put(SkillType.AXES, 0);
|
continue;
|
||||||
skillsXp.put(SkillType.FISHING, 0);
|
}
|
||||||
} else {
|
|
||||||
skills.put(skillType, newvalue);
|
skills.put(skill, newValue);
|
||||||
|
skillsXp.put(skill, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
skills.put(skillType, newValue);
|
||||||
skillsXp.put(skillType, 0);
|
skillsXp.put(skillType, 0);
|
||||||
}
|
}
|
||||||
save(); //This will make mctop update for MySQL
|
|
||||||
|
save();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addLevels(SkillType skillType, int levels)
|
|
||||||
{
|
|
||||||
if(skillType == SkillType.ALL)
|
|
||||||
{
|
|
||||||
skills.put(SkillType.TAMING, skills.get(SkillType.TAMING)+levels);
|
|
||||||
skills.put(SkillType.MINING, skills.get(SkillType.MINING)+levels);
|
|
||||||
skills.put(SkillType.WOODCUTTING, skills.get(SkillType.WOODCUTTING)+levels);
|
|
||||||
skills.put(SkillType.REPAIR, skills.get(SkillType.REPAIR)+levels);
|
|
||||||
skills.put(SkillType.HERBALISM, skills.get(SkillType.HERBALISM)+levels);
|
|
||||||
skills.put(SkillType.ACROBATICS, skills.get(SkillType.ACROBATICS)+levels);
|
|
||||||
skills.put(SkillType.SWORDS, skills.get(SkillType.SWORDS)+levels);
|
|
||||||
skills.put(SkillType.ARCHERY, skills.get(SkillType.ARCHERY)+levels);
|
|
||||||
skills.put(SkillType.UNARMED, skills.get(SkillType.UNARMED)+levels);
|
|
||||||
skills.put(SkillType.EXCAVATION, skills.get(SkillType.EXCAVATION)+levels);
|
|
||||||
skills.put(SkillType.AXES, skills.get(SkillType.AXES)+levels);
|
|
||||||
skills.put(SkillType.FISHING, skills.get(SkillType.FISHING)+levels);
|
|
||||||
|
|
||||||
skillsXp.put(SkillType.TAMING, 0);
|
|
||||||
skillsXp.put(SkillType.MINING, 0);
|
/**
|
||||||
skillsXp.put(SkillType.WOODCUTTING, 0);
|
* Add levels to a skill.
|
||||||
skillsXp.put(SkillType.REPAIR, 0);
|
*
|
||||||
skillsXp.put(SkillType.HERBALISM, 0);
|
* @param skillType Type of skill to add levels to
|
||||||
skillsXp.put(SkillType.ACROBATICS, 0);
|
* @param levels Number of levels to add
|
||||||
skillsXp.put(SkillType.SWORDS, 0);
|
*/
|
||||||
skillsXp.put(SkillType.ARCHERY, 0);
|
public void addLevels(SkillType skillType, int levels) {
|
||||||
skillsXp.put(SkillType.UNARMED, 0);
|
if (skillType.equals(SkillType.ALL)) {
|
||||||
skillsXp.put(SkillType.EXCAVATION, 0);
|
for (SkillType skill : SkillType.values()) {
|
||||||
skillsXp.put(SkillType.AXES, 0);
|
if (skill.equals(SkillType.ALL)) {
|
||||||
skillsXp.put(SkillType.FISHING, 0);
|
continue;
|
||||||
} else {
|
}
|
||||||
skills.put(skillType, skills.get(skillType)+levels);
|
|
||||||
|
skills.put(skill, skills.get(skill) + levels);
|
||||||
|
skillsXp.put(skill, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
skills.put(skillType, skills.get(skillType) + levels);
|
||||||
skillsXp.put(skillType, 0);
|
skillsXp.put(skillType, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
save();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getXpToLevel(SkillType skillType)
|
|
||||||
{
|
|
||||||
return (int) ((1020+(skills.get(skillType) * 20)));
|
/**
|
||||||
|
* Get the amount of XP remaining before the next level.
|
||||||
|
*
|
||||||
|
* @param skillType Type of skill to check
|
||||||
|
* @return the XP remaining until next level
|
||||||
|
*/
|
||||||
|
public Integer getXpToLevel(SkillType skillType) {
|
||||||
|
return (int) (1020 + (skills.get(skillType) * 20)); //Do we REALLY need to cast to int here?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//Store the player's party
|
//Store the player's party
|
||||||
public void setParty(String newParty)
|
public void setParty(String newParty) {
|
||||||
{
|
|
||||||
party = newParty;
|
party = newParty;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Retrieve the player's party
|
//Retrieve the player's party
|
||||||
public String getParty() {return party;}
|
public String getParty() {return party;}
|
||||||
//Remove party
|
//Remove party
|
||||||
|
@ -7,41 +7,44 @@ import com.gmail.nossr50.config.LoadProperties;
|
|||||||
|
|
||||||
public enum SkillType
|
public enum SkillType
|
||||||
{
|
{
|
||||||
ACROBATICS(LoadProperties.levelCapAcrobatics),
|
ACROBATICS(LoadProperties.levelCapAcrobatics, LoadProperties.acrobaticsxpmodifier),
|
||||||
ALL, //This one is just for convenience
|
ALL, //This one is just for convenience
|
||||||
ARCHERY(LoadProperties.levelCapArchery),
|
ARCHERY(LoadProperties.levelCapArchery, LoadProperties.archeryxpmodifier),
|
||||||
AXES(AbilityType.SKULL_SPLIITER, LoadProperties.levelCapAxes, ToolType.AXE),
|
AXES(AbilityType.SKULL_SPLIITER, LoadProperties.levelCapAxes, ToolType.AXE, LoadProperties.axesxpmodifier),
|
||||||
EXCAVATION(AbilityType.GIGA_DRILL_BREAKER, LoadProperties.levelCapExcavation, ToolType.SHOVEL),
|
EXCAVATION(AbilityType.GIGA_DRILL_BREAKER, LoadProperties.levelCapExcavation, ToolType.SHOVEL, LoadProperties.excavationxpmodifier),
|
||||||
FISHING(LoadProperties.levelCapFishing),
|
FISHING(LoadProperties.levelCapFishing, LoadProperties.fishingxpmodifier),
|
||||||
HERBALISM(AbilityType.GREEN_TERRA, LoadProperties.levelCapHerbalism, ToolType.HOE),
|
HERBALISM(AbilityType.GREEN_TERRA, LoadProperties.levelCapHerbalism, ToolType.HOE, LoadProperties.herbalismxpmodifier),
|
||||||
MINING(AbilityType.SUPER_BREAKER, LoadProperties.levelCapMining, ToolType.PICKAXE),
|
MINING(AbilityType.SUPER_BREAKER, LoadProperties.levelCapMining, ToolType.PICKAXE, LoadProperties.miningxpmodifier),
|
||||||
REPAIR(LoadProperties.levelCapRepair),
|
REPAIR(LoadProperties.levelCapRepair, LoadProperties.repairxpmodifier),
|
||||||
SWORDS(AbilityType.SERRATED_STRIKES, LoadProperties.levelCapSwords, ToolType.SWORD),
|
SWORDS(AbilityType.SERRATED_STRIKES, LoadProperties.levelCapSwords, ToolType.SWORD, LoadProperties.swordsxpmodifier),
|
||||||
TAMING(LoadProperties.levelCapTaming),
|
TAMING(LoadProperties.levelCapTaming, LoadProperties.tamingxpmodifier),
|
||||||
UNARMED(AbilityType.BERSERK, LoadProperties.levelCapUnarmed, ToolType.FISTS),
|
UNARMED(AbilityType.BERSERK, LoadProperties.levelCapUnarmed, ToolType.FISTS, LoadProperties.unarmedxpmodifier),
|
||||||
WOODCUTTING(AbilityType.TREE_FELLER, LoadProperties.levelCapWoodcutting, ToolType.AXE);
|
WOODCUTTING(AbilityType.TREE_FELLER, LoadProperties.levelCapWoodcutting, ToolType.AXE, LoadProperties.woodcuttingxpmodifier);
|
||||||
|
|
||||||
private AbilityType ability;
|
private AbilityType ability;
|
||||||
private int maxLevel;
|
private int maxLevel;
|
||||||
private ToolType tool;
|
private ToolType tool;
|
||||||
|
private double xpModifier;
|
||||||
|
|
||||||
private SkillType()
|
private SkillType()
|
||||||
{
|
{
|
||||||
this.ability = null;
|
this.ability = null;
|
||||||
this.maxLevel = 0;
|
this.maxLevel = 0;
|
||||||
this.tool = null;
|
this.tool = null;
|
||||||
|
this.xpModifier = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private SkillType(AbilityType ability, int maxLevel, ToolType tool)
|
private SkillType(AbilityType ability, int maxLevel, ToolType tool, double xpModifier)
|
||||||
{
|
{
|
||||||
this.ability = ability;
|
this.ability = ability;
|
||||||
this.maxLevel = maxLevel;
|
this.maxLevel = maxLevel;
|
||||||
this.tool = tool;
|
this.tool = tool;
|
||||||
|
this.xpModifier = xpModifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
private SkillType(int maxLevel)
|
private SkillType(int maxLevel, double xpModifier)
|
||||||
{
|
{
|
||||||
this(null, maxLevel, null);
|
this(null, maxLevel, null, xpModifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
public AbilityType getAbility()
|
public AbilityType getAbility()
|
||||||
@ -57,9 +60,8 @@ public enum SkillType
|
|||||||
return Integer.MAX_VALUE;
|
return Integer.MAX_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ToolType getTool()
|
public ToolType getTool() {
|
||||||
{
|
return tool;
|
||||||
return this.tool;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getPermissions(Player player)
|
public boolean getPermissions(Player player)
|
||||||
@ -93,4 +95,8 @@ public enum SkillType
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public double getXpModifier() {
|
||||||
|
return xpModifier;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user