1
0
mirror of https://github.com/mcMMO-Dev/mcMMO.git synced 2026-02-18 01:42:32 +01:00

Compare commits

..

7 Commits

Author SHA1 Message Date
GJ
9b2f4b7bde Because the old beta broke all the things. 2013-05-16 16:23:12 -04:00
GJ
24e5147a2a This was never an issue. 2013-05-16 16:13:53 -04:00
T00thpick1
0423a7831d Those were right the first time... 2013-05-16 15:55:25 -04:00
T00thpick1
feea22b3a4 Correctly order 2013-05-16 15:52:49 -04:00
T00thpick1
7f40a9f284 Explicitely state columns wanted to account for altered tables 2013-05-16 15:50:19 -04:00
GJ
bc706109e0 Fix issue with tables without party names. 2013-05-16 13:37:22 -04:00
GJ
a25bddba5e Back to active development. 2013-05-16 10:55:13 -04:00
5 changed files with 65 additions and 55 deletions

View File

@@ -6,7 +6,7 @@ Key:
= Fix
! Change
- Removal
Version 1.4.06-dev
+ Added "Ice Fishing" ability to Fishing
+ Added global scoreboards to track skill rankings (display using /mctop)

View File

@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.gmail.nossr50.mcMMO</groupId>
<artifactId>mcMMO</artifactId>
<version>1.4.06-beta3</version>
<version>1.4.06-beta4</version>
<name>mcMMO</name>
<url>https://github.com/mcMMO-Dev/mcMMO</url>
<issueManagement>

View File

@@ -150,6 +150,7 @@ public final class SQLDatabaseManager {
checkDatabaseStructure(DatabaseUpdateType.BLAST_MINING);
checkDatabaseStructure(DatabaseUpdateType.INDEX);
checkDatabaseStructure(DatabaseUpdateType.MOB_HEALTHBARS);
checkDatabaseStructure(DatabaseUpdateType.PARTY_NAMES);
}
/**
@@ -170,7 +171,9 @@ public final class SQLDatabaseManager {
return true;
}
catch (SQLException ex) {
printErrors(ex);
if (!sql.equalsIgnoreCase("ALTER TABLE `" + tablePrefix + "users` DROP COLUMN `party` ;")) {
printErrors(ex);
}
return false;
}
finally {
@@ -566,6 +569,10 @@ public final class SQLDatabaseManager {
sql = "SELECT * FROM `" + tablePrefix + "huds` ORDER BY `" + tablePrefix + "huds`.`mobhealthbar` ASC LIMIT 0 , 30";
break;
case PARTY_NAMES:
write("ALTER TABLE `" + tablePrefix + "users` DROP COLUMN `party` ;");
break;
default:
break;
}

View File

@@ -4,5 +4,6 @@ public enum DatabaseUpdateType {
FISHING,
BLAST_MINING,
INDEX,
MOB_HEALTHBARS;
MOB_HEALTHBARS,
PARTY_NAMES,
}

View File

@@ -288,7 +288,13 @@ public class PlayerProfile {
String tablePrefix = Config.getInstance().getMySQLTablePrefix();
ArrayList<String> playerData = SQLDatabaseManager.read(
"SELECT * FROM " + tablePrefix + "users u " +
"SELECT " +
"u.id, " +
"s.taming, s.mining, s.repair, s.woodcutting, s.unarmed, s.herbalism, s.excavation, s.archery, s.swords, s.axes, s.acrobatics, s.fishing, " +
"e.taming, e.mining, e.repair, e.woodcutting, e.unarmed, e.herbalism, e.excavation, e.archery, e.swords, e.axes, e.acrobatics, e.fishing, " +
"c.taming, c.mining, c.repair, c.woodcutting, c.unarmed, c.herbalism, c.excavation, c.archery, c.swords, c.axes, c.acrobatics, c.blast_mining, " +
"h.hudtype, h.mobhealthbar " +
"FROM " + tablePrefix + "users u " +
"JOIN " + tablePrefix + "skills s ON (u.id = s.user_id) " +
"JOIN " + tablePrefix + "experience e ON (u.id = e.user_id) " +
"JOIN " + tablePrefix + "cooldowns c ON (u.id = c.user_id) " +
@@ -312,68 +318,64 @@ public class PlayerProfile {
// Re-read data
playerData = SQLDatabaseManager.read(
"SELECT * FROM " + tablePrefix + "users u " +
"JOIN " + tablePrefix + "skills s ON (u.id = s.user_id) " +
"SELECT " +
"u.id, " +
"s.taming, s.mining, s.repair, s.woodcutting, s.unarmed, s.herbalism, s.excavation, s.archery, s.swords, s.axes, s.acrobatics, s.fishing, " +
"e.taming, e.mining, e.repair, e.woodcutting, e.unarmed, e.herbalism, e.excavation, e.archery, e.swords, e.axes, e.acrobatics, e.fishing, " +
"c.taming, c.mining, c.repair, c.woodcutting, c.unarmed, c.herbalism, c.excavation, c.archery, c.swords, c.axes, c.acrobatics, c.blast_mining, " +
"h.hudtype, h.mobhealthbar " +
"FROM " + tablePrefix + "users u " +
"JOIN " + tablePrefix + "skills s ON (u.id = e.user_id) " +
"JOIN " + tablePrefix + "experience e ON (u.id = e.user_id) " +
"JOIN " + tablePrefix + "cooldowns c ON (u.id = c.user_id) " +
"JOIN " + tablePrefix + "huds h ON (u.id = h.user_id) " +
"WHERE u.user = '" + playerName + "'"
).get(1);
}
// Remove from list the user_id's from various tables
playerData.remove(43);
playerData.remove(30);
playerData.remove(17);
playerData.remove(4);
userId = Integer.valueOf(playerData.get(0));
// UserName 1 - Already loaded
// LastLogin 2 - Doesn't need to be loaded
// PartyName 3 - Loaded elsewhere I believe
skills.put(SkillType.TAMING, Integer.valueOf(playerData.get(4)));
skills.put(SkillType.MINING, Integer.valueOf(playerData.get(5)));
skills.put(SkillType.REPAIR, Integer.valueOf(playerData.get(6)));
skills.put(SkillType.WOODCUTTING, Integer.valueOf(playerData.get(7)));
skills.put(SkillType.UNARMED, Integer.valueOf(playerData.get(8)));
skills.put(SkillType.HERBALISM, Integer.valueOf(playerData.get(9)));
skills.put(SkillType.EXCAVATION, Integer.valueOf(playerData.get(10)));
skills.put(SkillType.ARCHERY, Integer.valueOf(playerData.get(11)));
skills.put(SkillType.SWORDS, Integer.valueOf(playerData.get(12)));
skills.put(SkillType.AXES, Integer.valueOf(playerData.get(13)));
skills.put(SkillType.ACROBATICS, Integer.valueOf(playerData.get(14)));
skills.put(SkillType.FISHING, Integer.valueOf(playerData.get(15)));
skills.put(SkillType.TAMING, Integer.valueOf(playerData.get(1)));
skills.put(SkillType.MINING, Integer.valueOf(playerData.get(2)));
skills.put(SkillType.REPAIR, Integer.valueOf(playerData.get(3)));
skills.put(SkillType.WOODCUTTING, Integer.valueOf(playerData.get(4)));
skills.put(SkillType.UNARMED, Integer.valueOf(playerData.get(5)));
skills.put(SkillType.HERBALISM, Integer.valueOf(playerData.get(6)));
skills.put(SkillType.EXCAVATION, Integer.valueOf(playerData.get(7)));
skills.put(SkillType.ARCHERY, Integer.valueOf(playerData.get(8)));
skills.put(SkillType.SWORDS, Integer.valueOf(playerData.get(9)));
skills.put(SkillType.AXES, Integer.valueOf(playerData.get(10)));
skills.put(SkillType.ACROBATICS, Integer.valueOf(playerData.get(11)));
skills.put(SkillType.FISHING, Integer.valueOf(playerData.get(12)));
skillsXp.put(SkillType.TAMING, (float) Integer.valueOf(playerData.get(16)));
skillsXp.put(SkillType.MINING, (float) Integer.valueOf(playerData.get(17)));
skillsXp.put(SkillType.REPAIR, (float) Integer.valueOf(playerData.get(18)));
skillsXp.put(SkillType.WOODCUTTING, (float) Integer.valueOf(playerData.get(19)));
skillsXp.put(SkillType.UNARMED, (float) Integer.valueOf(playerData.get(20)));
skillsXp.put(SkillType.HERBALISM, (float) Integer.valueOf(playerData.get(21)));
skillsXp.put(SkillType.EXCAVATION, (float) Integer.valueOf(playerData.get(22)));
skillsXp.put(SkillType.ARCHERY, (float) Integer.valueOf(playerData.get(23)));
skillsXp.put(SkillType.SWORDS, (float) Integer.valueOf(playerData.get(24)));
skillsXp.put(SkillType.AXES, (float) Integer.valueOf(playerData.get(25)));
skillsXp.put(SkillType.ACROBATICS, (float) Integer.valueOf(playerData.get(26)));
skillsXp.put(SkillType.FISHING, (float) Integer.valueOf(playerData.get(27)));
skillsXp.put(SkillType.TAMING, (float) Integer.valueOf(playerData.get(13)));
skillsXp.put(SkillType.MINING, (float) Integer.valueOf(playerData.get(14)));
skillsXp.put(SkillType.REPAIR, (float) Integer.valueOf(playerData.get(15)));
skillsXp.put(SkillType.WOODCUTTING, (float) Integer.valueOf(playerData.get(16)));
skillsXp.put(SkillType.UNARMED, (float) Integer.valueOf(playerData.get(17)));
skillsXp.put(SkillType.HERBALISM, (float) Integer.valueOf(playerData.get(18)));
skillsXp.put(SkillType.EXCAVATION, (float) Integer.valueOf(playerData.get(19)));
skillsXp.put(SkillType.ARCHERY, (float) Integer.valueOf(playerData.get(20)));
skillsXp.put(SkillType.SWORDS, (float) Integer.valueOf(playerData.get(21)));
skillsXp.put(SkillType.AXES, (float) Integer.valueOf(playerData.get(22)));
skillsXp.put(SkillType.ACROBATICS, (float) Integer.valueOf(playerData.get(23)));
skillsXp.put(SkillType.FISHING, (float) Integer.valueOf(playerData.get(24)));
// Taming 28 - Unused
skillsDATS.put(AbilityType.SUPER_BREAKER, Integer.valueOf(playerData.get(29)));
skillsDATS.put(AbilityType.TREE_FELLER, Integer.valueOf(playerData.get(30)));
// Repair 31 - Unused
skillsDATS.put(AbilityType.BERSERK, Integer.valueOf(playerData.get(32)));
skillsDATS.put(AbilityType.GREEN_TERRA, Integer.valueOf(playerData.get(33)));
skillsDATS.put(AbilityType.GIGA_DRILL_BREAKER, Integer.valueOf(playerData.get(34)));
// Archery 35 - Unused
skillsDATS.put(AbilityType.SERRATED_STRIKES, Integer.valueOf(playerData.get(36)));
skillsDATS.put(AbilityType.SKULL_SPLITTER, Integer.valueOf(playerData.get(37)));
// Acrobatics 38 - Unused
skillsDATS.put(AbilityType.BLAST_MINING, Integer.valueOf(playerData.get(39)));
// Taming 25 - Unused
skillsDATS.put(AbilityType.SUPER_BREAKER, Integer.valueOf(playerData.get(26)));
// Repair 27 - Unused
skillsDATS.put(AbilityType.TREE_FELLER, Integer.valueOf(playerData.get(28)));
skillsDATS.put(AbilityType.BERSERK, Integer.valueOf(playerData.get(29)));
skillsDATS.put(AbilityType.GREEN_TERRA, Integer.valueOf(playerData.get(30)));
skillsDATS.put(AbilityType.GIGA_DRILL_BREAKER, Integer.valueOf(playerData.get(31)));
// Archery 32 - Unused
skillsDATS.put(AbilityType.SERRATED_STRIKES, Integer.valueOf(playerData.get(33)));
skillsDATS.put(AbilityType.SKULL_SPLITTER, Integer.valueOf(playerData.get(34)));
// Acrobatics 35 - Unused
skillsDATS.put(AbilityType.BLAST_MINING, Integer.valueOf(playerData.get(36)));
hudType = HudType.valueOf(playerData.get(40));
mobHealthbarType = MobHealthbarType.valueOf(playerData.get(41));
hudType = HudType.valueOf(playerData.get(37));
mobHealthbarType = MobHealthbarType.valueOf(playerData.get(38));
loaded = true;
return true;