mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 21:26:46 +01:00
Fixed a major problem where the hashmap wasn't initialized on
PlayerProfile creation. However there is still a big bug with abilities instantly wearing off and refreshing.
This commit is contained in:
parent
4fdbce24d7
commit
3a812612de
@ -69,7 +69,6 @@ public class PlayerProfile
|
|||||||
//Time to HashMap this shiz
|
//Time to HashMap this shiz
|
||||||
HashMap<SkillType, Integer> skills = new HashMap<SkillType, Integer>(); //Skills and XP
|
HashMap<SkillType, Integer> skills = new HashMap<SkillType, Integer>(); //Skills and XP
|
||||||
HashMap<SkillType, Integer> skillsXp = new HashMap<SkillType, Integer>(); //Skills and XP
|
HashMap<SkillType, Integer> skillsXp = new HashMap<SkillType, Integer>(); //Skills and XP
|
||||||
HashMap<AbilityType, Integer> skillsATS = new HashMap<AbilityType, Integer>(); //Skill ATS
|
|
||||||
HashMap<AbilityType, Integer> skillsDATS = new HashMap<AbilityType, Integer>(); //Skill ATS
|
HashMap<AbilityType, Integer> skillsDATS = new HashMap<AbilityType, Integer>(); //Skill ATS
|
||||||
|
|
||||||
String location = "plugins/mcMMO/FlatFileStuff/mcmmo.users";
|
String location = "plugins/mcMMO/FlatFileStuff/mcmmo.users";
|
||||||
@ -77,6 +76,12 @@ public class PlayerProfile
|
|||||||
public PlayerProfile(Player player)
|
public PlayerProfile(Player player)
|
||||||
{
|
{
|
||||||
hud = LoadProperties.defaulthud;
|
hud = LoadProperties.defaulthud;
|
||||||
|
//Setup the HashMap for ability ATS & DATS
|
||||||
|
for(AbilityType abilityType : AbilityType.values())
|
||||||
|
{
|
||||||
|
skillsDATS.put(abilityType, 0);
|
||||||
|
}
|
||||||
|
|
||||||
//Setup the HashMap for the skills
|
//Setup the HashMap for the skills
|
||||||
for(SkillType skillType : SkillType.values())
|
for(SkillType skillType : SkillType.values())
|
||||||
{
|
{
|
||||||
@ -817,22 +822,17 @@ public class PlayerProfile
|
|||||||
{
|
{
|
||||||
skills.put(skillType, 0);
|
skills.put(skillType, 0);
|
||||||
}
|
}
|
||||||
public int getSkillATS(AbilityType abilityType)
|
|
||||||
{
|
|
||||||
return skillsATS.get(abilityType);
|
|
||||||
}
|
|
||||||
public void setSkillATS(AbilityType abilityType, int ticks)
|
|
||||||
{
|
|
||||||
skillsATS.put(abilityType, (int) System.currentTimeMillis()/1000);
|
|
||||||
setSkillDATS(abilityType, ticks);
|
|
||||||
}
|
|
||||||
public int getSkillDATS(AbilityType abilityType)
|
public int getSkillDATS(AbilityType abilityType)
|
||||||
{
|
{
|
||||||
return skillsDATS.get(abilityType);
|
return skillsDATS.get(abilityType);
|
||||||
}
|
}
|
||||||
private void setSkillDATS(AbilityType abilityType, int ticks)
|
public void setSkillDATS(AbilityType abilityType, long value)
|
||||||
{
|
{
|
||||||
skillsDATS.put(abilityType, (int) (System.currentTimeMillis() + (ticks * 1000))/1000);
|
System.out.println("Storing to DATS: "+value);
|
||||||
|
int wearsOff = (int) (value * .001D);
|
||||||
|
System.out.println("After dividing by 1000: "+wearsOff);
|
||||||
|
skillsDATS.put(abilityType, wearsOff);
|
||||||
|
System.out.println("Should be the same as the above value: "+skillsDATS.get(abilityType));
|
||||||
}
|
}
|
||||||
public void resetCooldowns()
|
public void resetCooldowns()
|
||||||
{
|
{
|
||||||
|
@ -60,7 +60,7 @@ public class Axes {
|
|||||||
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
||||||
y.sendMessage(mcLocale.getString("Skills.SkullSplitterPlayer", new Object[] {player.getName()}));
|
y.sendMessage(mcLocale.getString("Skills.SkullSplitterPlayer", new Object[] {player.getName()}));
|
||||||
}
|
}
|
||||||
PP.setSkillATS(AbilityType.SKULL_SPLIITER, ticks);
|
PP.setSkillDATS(AbilityType.SKULL_SPLIITER, System.currentTimeMillis()+(ticks*1000));
|
||||||
PP.setSkullSplitterMode(true);
|
PP.setSkullSplitterMode(true);
|
||||||
}
|
}
|
||||||
if(!PP.getSkullSplitterMode() && !Skills.cooldownOver(player, (PP.getSkillDATS(AbilityType.SKULL_SPLIITER)*1000), LoadProperties.skullSplitterCooldown)){
|
if(!PP.getSkullSplitterMode() && !Skills.cooldownOver(player, (PP.getSkillDATS(AbilityType.SKULL_SPLIITER)*1000), LoadProperties.skullSplitterCooldown)){
|
||||||
|
@ -69,7 +69,7 @@ public class Excavation
|
|||||||
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
||||||
y.sendMessage(mcLocale.getString("Skills.GigaDrillBreakerPlayer", new Object[] {player.getName()}));
|
y.sendMessage(mcLocale.getString("Skills.GigaDrillBreakerPlayer", new Object[] {player.getName()}));
|
||||||
}
|
}
|
||||||
PP.setSkillATS(AbilityType.GIGA_DRILL_BREAKER, ticks);
|
PP.setSkillDATS(AbilityType.GIGA_DRILL_BREAKER, System.currentTimeMillis()+(ticks*1000));
|
||||||
PP.setGigaDrillBreakerMode(true);
|
PP.setGigaDrillBreakerMode(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ public class Herbalism
|
|||||||
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
||||||
y.sendMessage(mcLocale.getString("Skills.GreenTerraPlayer", new Object[] {player.getName()}));
|
y.sendMessage(mcLocale.getString("Skills.GreenTerraPlayer", new Object[] {player.getName()}));
|
||||||
}
|
}
|
||||||
PP.setSkillATS(AbilityType.GREEN_TERRA, ticks);
|
PP.setSkillDATS(AbilityType.GREEN_TERRA, System.currentTimeMillis()+(ticks*1000));
|
||||||
PP.setGreenTerraMode(true);
|
PP.setGreenTerraMode(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ public class Mining
|
|||||||
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
||||||
y.sendMessage(mcLocale.getString("Skills.SuperBreakerPlayer", new Object[] {player.getName()}));
|
y.sendMessage(mcLocale.getString("Skills.SuperBreakerPlayer", new Object[] {player.getName()}));
|
||||||
}
|
}
|
||||||
PP.setSkillATS(AbilityType.SUPER_BREAKER, ticks);
|
PP.setSkillDATS(AbilityType.SUPER_BREAKER, System.currentTimeMillis()+(ticks*1000));
|
||||||
PP.setSuperBreakerMode(true);
|
PP.setSuperBreakerMode(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ public class Swords
|
|||||||
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
||||||
y.sendMessage(mcLocale.getString("Skills.SerratedStrikesPlayer", new Object[] {player.getName()}));
|
y.sendMessage(mcLocale.getString("Skills.SerratedStrikesPlayer", new Object[] {player.getName()}));
|
||||||
}
|
}
|
||||||
PP.setSkillATS(AbilityType.SERRATED_STRIKES, ticks);
|
PP.setSkillDATS(AbilityType.SERRATED_STRIKES, System.currentTimeMillis()+(ticks*1000));
|
||||||
PP.setSerratedStrikesMode(true);
|
PP.setSerratedStrikesMode(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,7 +53,8 @@ public class Unarmed {
|
|||||||
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
||||||
y.sendMessage(mcLocale.getString("Skills.BerserkPlayer", new Object[] {player.getName()}));
|
y.sendMessage(mcLocale.getString("Skills.BerserkPlayer", new Object[] {player.getName()}));
|
||||||
}
|
}
|
||||||
PP.setSkillATS(AbilityType.BERSERK, ticks);
|
PP.setSkillDATS(AbilityType.BERSERK, System.currentTimeMillis()+(ticks*1000));
|
||||||
|
System.out.println("getSkillDATS(): "+PP.getSkillDATS(AbilityType.BERSERK));
|
||||||
PP.setBerserkMode(true);
|
PP.setBerserkMode(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,7 @@ public class WoodCutting
|
|||||||
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10)
|
||||||
y.sendMessage(mcLocale.getString("Skills.TreeFellerPlayer", new Object[] {player.getName()}));
|
y.sendMessage(mcLocale.getString("Skills.TreeFellerPlayer", new Object[] {player.getName()}));
|
||||||
}
|
}
|
||||||
PP.setSkillATS(AbilityType.TREE_FELLER, ticks);
|
PP.setSkillDATS(AbilityType.TREE_FELLER, System.currentTimeMillis()+(ticks*1000));
|
||||||
PP.setTreeFellerMode(true);
|
PP.setTreeFellerMode(true);
|
||||||
}
|
}
|
||||||
if(!PP.getTreeFellerMode() && !Skills.cooldownOver(player, (PP.getSkillDATS(AbilityType.TREE_FELLER)*1000), LoadProperties.treeFellerCooldown)){
|
if(!PP.getTreeFellerMode() && !Skills.cooldownOver(player, (PP.getSkillDATS(AbilityType.TREE_FELLER)*1000), LoadProperties.treeFellerCooldown)){
|
||||||
|
Loading…
Reference in New Issue
Block a user