Add McMMOPlayerXpGainEvent

Rename playername to playerName
This commit is contained in:
NuclearW 2012-02-11 00:02:48 -05:00
parent 5cbee8a4ab
commit d97e97ae5f
2 changed files with 80 additions and 7 deletions

View File

@ -32,6 +32,7 @@ import org.bukkit.GameMode;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.gmail.nossr50.config.LoadProperties; import com.gmail.nossr50.config.LoadProperties;
import com.gmail.nossr50.events.McMMOPlayerXpGainEvent;
import com.gmail.nossr50.party.Party; import com.gmail.nossr50.party.Party;
import com.gmail.nossr50.Users; import com.gmail.nossr50.Users;
import com.gmail.nossr50.m; import com.gmail.nossr50.m;
@ -64,7 +65,7 @@ public class PlayerProfile
//MySQL STUFF //MySQL STUFF
private int xpbarinc=0, lastlogin=0, userid = 0, bleedticks = 0; private int xpbarinc=0, lastlogin=0, userid = 0, bleedticks = 0;
private String playername; private String playerName;
//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
@ -92,7 +93,7 @@ public class PlayerProfile
} }
} }
playername = player.getName(); playerName = player.getName();
if (LoadProperties.useMySQL) if (LoadProperties.useMySQL)
{ {
if(!loadMySQL(player)) { if(!loadMySQL(player)) {
@ -219,7 +220,7 @@ public class PlayerProfile
//Find if the line contains the player we want. //Find if the line contains the player we want.
String[] character = line.split(":"); String[] character = line.split(":");
if(!character[0].equals(playername)){continue;} if(!character[0].equals(playerName)){continue;}
//Get Mining //Get Mining
if(character.length > 1 && m.isInt(character[1])) if(character.length > 1 && m.isInt(character[1]))
@ -377,13 +378,13 @@ public class PlayerProfile
{ {
//Read the line in and copy it to the output it's not the player //Read the line in and copy it to the output it's not the player
//we want to edit //we want to edit
if(!line.split(":")[0].equalsIgnoreCase(playername)) if(!line.split(":")[0].equalsIgnoreCase(playerName))
{ {
writer.append(line).append("\r\n"); writer.append(line).append("\r\n");
//Otherwise write the new player information //Otherwise write the new player information
} else { } else {
writer.append(playername + ":"); writer.append(playerName + ":");
writer.append(skills.get(SkillType.MINING) + ":"); writer.append(skills.get(SkillType.MINING) + ":");
writer.append(myspawn + ":"); writer.append(myspawn + ":");
writer.append(party+":"); writer.append(party+":");
@ -442,7 +443,7 @@ public class PlayerProfile
BufferedWriter out = new BufferedWriter(file); BufferedWriter out = new BufferedWriter(file);
//Add the player to the end //Add the player to the end
out.append(playername + ":"); out.append(playerName + ":");
out.append(0 + ":"); //mining out.append(0 + ":"); //mining
out.append(myspawn+":"); out.append(myspawn+":");
out.append(party+":"); out.append(party+":");
@ -580,7 +581,7 @@ public class PlayerProfile
public boolean isPlayer(String player) public boolean isPlayer(String player)
{ {
return player.equals(playername); return player.equals(Bukkit.getPlayer(playerName));
} }
public boolean getPartyChatOnlyToggle(){return partyChatOnly;} public boolean getPartyChatOnlyToggle(){return partyChatOnly;}
public void togglePartyChatOnly(){partyChatOnly = !partyChatOnly;} public void togglePartyChatOnly(){partyChatOnly = !partyChatOnly;}
@ -852,12 +853,14 @@ public class PlayerProfile
{ {
if(x == SkillType.ALL) if(x == SkillType.ALL)
continue; continue;
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(Bukkit.getPlayer(playerName), x, newvalue));
skillsXp.put(x, skillsXp.get(x)+newvalue); skillsXp.put(x, skillsXp.get(x)+newvalue);
} }
} else { } else {
int xp = newvalue; int xp = newvalue;
xp=xp*LoadProperties.xpGainMultiplier; xp=xp*LoadProperties.xpGainMultiplier;
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(Bukkit.getPlayer(playerName), skillType, xp));
skillsXp.put(skillType, skillsXp.get(skillType)+xp); skillsXp.put(skillType, skillsXp.get(skillType)+xp);
lastgained = skillType; lastgained = skillType;
} }
@ -904,6 +907,7 @@ public class PlayerProfile
{ {
if(x == SkillType.ALL) if(x == SkillType.ALL)
continue; continue;
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(Bukkit.getPlayer(playerName), x, newvalue));
skillsXp.put(x, skillsXp.get(x)+newvalue); skillsXp.put(x, skillsXp.get(x)+newvalue);
} }
} else { } else {
@ -958,6 +962,7 @@ public class PlayerProfile
double percent = (trueBonus/oldxp)*100; double percent = (trueBonus/oldxp)*100;
thisplayer.sendMessage(ChatColor.GREEN+"XP: "+oldxp+" Bonus XP: "+trueBonus+" Total: "+xp+ChatColor.GOLD+" [Master: "+leaderName+" " +" +"+(int)percent+"%]"); thisplayer.sendMessage(ChatColor.GREEN+"XP: "+oldxp+" Bonus XP: "+trueBonus+" Total: "+xp+ChatColor.GOLD+" [Master: "+leaderName+" " +" +"+(int)percent+"%]");
} }
Bukkit.getPluginManager().callEvent(new McMMOPlayerXpGainEvent(Bukkit.getPlayer(playerName), skillType, xp));
skillsXp.put(skillType, skillsXp.get(skillType)+xp); skillsXp.put(skillType, skillsXp.get(skillType)+xp);
lastgained = skillType; lastgained = skillType;
} }

View File

@ -0,0 +1,68 @@
/*
This file is part of mcMMO.
mcMMO is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
mcMMO is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with mcMMO. If not, see <http://www.gnu.org/licenses/>.
*/
package com.gmail.nossr50.events;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import com.gmail.nossr50.datatypes.SkillType;
@SuppressWarnings("serial")
public class McMMOPlayerXpGainEvent extends Event {
private Player player;
private SkillType skill;
private int xpGained;
public McMMOPlayerXpGainEvent(Player player, SkillType skill, int xpGained) {
this.player = player;
this.skill = skill;
this.xpGained = xpGained;
}
/**
* @return Player gaining experience (can be null)
*/
public Player getPlayer() {
return player;
}
/**
* @return SkillType that is gaining experience
*/
public SkillType getSkill() {
return skill;
}
/**
* @return The number experience gained in this event
*/
public int getXpGained() {
return xpGained;
}
/** Rest of file is required boilerplate for custom events **/
private static final HandlerList handlers = new HandlerList();
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
}