No longer use/save party name in database and users flat file

This commit is contained in:
bm01 2012-06-09 19:48:18 +02:00
parent dfff0efc0b
commit 81eadc1418
4 changed files with 23 additions and 36 deletions

View File

@ -70,6 +70,8 @@ public class PlayerProfile {
this.player = player;
this.playerName = player.getName();
party = PartyManager.getInstance().getPlayerParty(playerName);
for (AbilityType abilityType : AbilityType.values()) {
skillsDATS.put(abilityType, 0);
}
@ -132,15 +134,12 @@ public class PlayerProfile {
}
}
HashMap<Integer, ArrayList<String>> users = mcMMO.database.read("SELECT lastlogin, party FROM " + Config.getInstance().getMySQLTablePrefix() + "users WHERE id = " + userid);
//lastlogin = Integer.parseInt(users.get(1).get(0));
party = PartyManager.getInstance().getParty(users.get(1).get(1));
HashMap<Integer, ArrayList<String>> cooldowns = mcMMO.database.read("SELECT mining, woodcutting, unarmed, herbalism, excavation, swords, axes, blast_mining FROM " + Config.getInstance().getMySQLTablePrefix() + "cooldowns WHERE user_id = " + userid);
/*
* I'm still learning MySQL, this is a fix for adding a new table
* its not pretty but it works
*/
HashMap<Integer, ArrayList<String>> cooldowns = mcMMO.database.read("SELECT mining, woodcutting, unarmed, herbalism, excavation, swords, axes, blast_mining FROM " + Config.getInstance().getMySQLTablePrefix() + "cooldowns WHERE user_id = " + userid);
if(cooldowns.get(1) == null) {
mcMMO.database.write("INSERT INTO " + Config.getInstance().getMySQLTablePrefix() + "cooldowns (user_id) VALUES (" + userid + ")");
}
@ -209,13 +208,8 @@ public class PlayerProfile {
continue;
}
//Get Mining
if (character.length > 1 && Misc.isInt(character[1]))
skills.put(SkillType.MINING, Integer.valueOf(character[1]));
//Party
if (character.length > 3)
party = PartyManager.getInstance().getParty(character[3]);
//Mining XP
if (character.length > 4 && Misc.isInt(character[4]))
skillsXp.put(SkillType.MINING, Integer.valueOf(character[4]));
if (character.length > 5 && Misc.isInt(character[5]))
@ -306,14 +300,6 @@ public class PlayerProfile {
mcMMO.database.write("UPDATE " + Config.getInstance().getMySQLTablePrefix() + "huds SET hudtype = '" + hud.toString() + "' WHERE user_id = " + userid);
mcMMO.database.write("UPDATE " + Config.getInstance().getMySQLTablePrefix() + "users SET lastlogin = " + timestamp.intValue() + " WHERE id = " + userid);
String partyName = "";
if (party != null) {
partyName = party.getName();
}
mcMMO.database.write("UPDATE " + Config.getInstance().getMySQLTablePrefix() + "users SET party = '" + partyName + "' WHERE id = " + userid);
mcMMO.database.write("UPDATE " + Config.getInstance().getMySQLTablePrefix() + "cooldowns SET "
+ " mining = " + skillsDATS.get(AbilityType.SUPER_BREAKER)
+ ", woodcutting = " + skillsDATS.get(AbilityType.TREE_FELLER)
@ -374,14 +360,7 @@ public class PlayerProfile {
writer.append(playerName + ":");
writer.append(skills.get(SkillType.MINING) + ":");
writer.append("" + ":");
String partyName = "";
if (party != null) {
partyName = party.getName();
}
writer.append(partyName + ":");
writer.append("" + ":");
writer.append(skillsXp.get(SkillType.MINING) + ":");
writer.append(skills.get(SkillType.WOODCUTTING) + ":");
writer.append(skillsXp.get(SkillType.WOODCUTTING) + ":");
@ -443,14 +422,7 @@ public class PlayerProfile {
out.append(playerName + ":");
out.append(0 + ":"); //mining
out.append("" + ":");
String partyName = "";
if (party != null) {
partyName = party.getName();
}
out.append(partyName + ":");
out.append("" + ":");
out.append(0 + ":"); //XP
out.append(0 + ":"); //woodcutting
out.append(0 + ":"); //woodCuttingXP

View File

@ -166,6 +166,22 @@ public class PartyManager {
return null;
}
/**
* Retrieve a party by a member name
*
* @param playerName The member name
* @return the existing party, null otherwise
*/
public Party getPlayerParty(String playerName) {
for (Party party : parties) {
if (party.getMembers().contains(playerName)) {
return party;
}
}
return null;
}
/**
* Get a list of all current party names.
*

View File

@ -69,7 +69,6 @@ public class Database {
write("CREATE TABLE IF NOT EXISTS `" + tablePrefix + "users` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,"
+ "`user` varchar(40) NOT NULL,"
+ "`lastlogin` int(32) unsigned NOT NULL,"
+ "`party` varchar(100) NOT NULL DEFAULT '',"
+ "PRIMARY KEY (`id`),"
+ "UNIQUE KEY `user` (`user`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;");
write("CREATE TABLE IF NOT EXISTS `" + tablePrefix + "cooldowns` (`user_id` int(10) unsigned NOT NULL,"

View File

@ -90,7 +90,7 @@ public class Users {
*/
public static void removeUser(String playerName) {
for (Iterator<PlayerProfile> it = profiles.iterator() ; it.hasNext() ; ) {
if (it.next().getPlayer().getName().equals(playerName)) {
if (it.next().getPlayerName().equals(playerName)) {
it.remove();
return;
}