123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 |
- package com.gmail.nossr50.runnables;
- import java.io.BufferedReader;
- import java.io.FileReader;
- import com.gmail.nossr50.m;
- import com.gmail.nossr50.mcMMO;
- import com.gmail.nossr50.config.Config;
- public class SQLConversionTask implements Runnable {
- private final mcMMO plugin;
- private String tablePrefix = Config.getInstance().getMySQLTablePrefix();
- public SQLConversionTask(mcMMO plugin) {
- this.plugin = plugin;
- }
- @Override
- public void run() {
- String location = mcMMO.usersFile;
- try {
- FileReader file = new FileReader(location);
- BufferedReader in = new BufferedReader(file);
- String line = "";
- String playerName = null;
- String party = null;
- String mining = null;
- String woodcutting = null;
- String repair = null;
- String unarmed = null;
- String herbalism = null;
- String excavation = null;
- String archery = null;
- String swords = null;
- String axes = null;
- String acrobatics = null;
- String taming = null;
- String fishing = null;
- String miningXP = null;
- String woodCuttingXP = null;
- String repairXP = null;
- String unarmedXP = null;
- String herbalismXP = null;
- String excavationXP = null;
- String archeryXP = null;
- String swordsXP = null;
- String axesXP = null;
- String acrobaticsXP = null;
- String tamingXP = null;
- String fishingXP = null;
- int id = 0;
- int theCount = 0;
- while ((line = in.readLine()) != null) {
- //Find if the line contains the player we want.
- String[] character = line.split(":");
- playerName = character[0];
- //Check for things we don't want put in the DB
- if (playerName == null || playerName.equals("null") || playerName.equals("#Storage place for user information")) {
- continue;
- }
- if (character.length > 1) {
- mining = character[1];
- }
- if (character.length > 3) {
- party = character[3];
- }
- if (character.length > 4) {
- miningXP = character[4];
- }
- if (character.length > 5) {
- woodcutting = character[5];
- }
- if (character.length > 6) {
- woodCuttingXP = character[6];
- }
- if (character.length > 7) {
- repair = character[7];
- }
- if (character.length > 8) {
- unarmed = character[8];
- }
- if (character.length > 9) {
- herbalism = character[9];
- }
- if (character.length > 10) {
- excavation = character[10];
- }
- if (character.length > 11) {
- archery = character[11];
- }
- if (character.length > 12) {
- swords = character[12];
- }
- if (character.length > 13) {
- axes = character[13];
- }
- if (character.length > 14) {
- acrobatics = character[14];
- }
- if (character.length > 15) {
- repairXP = character[15];
- }
- if (character.length > 16) {
- unarmedXP = character[16];
- }
- if (character.length > 17) {
- herbalismXP = character[17];
- }
- if (character.length > 18) {
- excavationXP = character[18];
- }
- if (character.length > 19) {
- archeryXP = character[19];
- }
- if (character.length > 20) {
- swordsXP = character[20];
- }
- if (character.length > 21) {
- axesXP = character[21];
- }
- if (character.length > 22) {
- acrobaticsXP = character[22];
- }
- if (character.length > 24) {
- taming = character[24];
- }
- if (character.length > 25) {
- tamingXP = character[25];
- }
- if (character.length > 34) {
- fishing = character[34];
- }
- if (character.length > 35) {
- fishingXP = character[35];
- }
- //Check to see if the user is in the DB
- id = mcMMO.database.getInt("SELECT id FROM "
- + tablePrefix
- + "users WHERE user = '" + playerName + "'");
- if (id > 0) {
- theCount++;
- //Update the skill values
- mcMMO.database.write("UPDATE "
- + tablePrefix
- + "users SET lastlogin = " + 0
- + " WHERE id = " + id);
- mcMMO.database.write("UPDATE "
- + tablePrefix
- + "skills SET "
- + " taming = taming+" + m.getInt(taming)
- + ", mining = mining+" + m.getInt(mining)
- + ", repair = repair+" + m.getInt(repair)
- + ", woodcutting = woodcutting+" + m.getInt(woodcutting)
- + ", unarmed = unarmed+" + m.getInt(unarmed)
- + ", herbalism = herbalism+" + m.getInt(herbalism)
- + ", excavation = excavation+" + m.getInt(excavation)
- + ", archery = archery+" + m.getInt(archery)
- + ", swords = swords+" + m.getInt(swords)
- + ", axes = axes+" + m.getInt(axes)
- + ", acrobatics = acrobatics+" + m.getInt(acrobatics)
- + ", fishing = fishing+" + m.getInt(fishing)
- + " WHERE user_id = " + id);
- mcMMO.database.write("UPDATE "
- + tablePrefix
- + "experience SET "
- + " taming = " + m.getInt(tamingXP)
- + ", mining = " + m.getInt(miningXP)
- + ", repair = " + m.getInt(repairXP)
- + ", woodcutting = " + m.getInt(woodCuttingXP)
- + ", unarmed = " + m.getInt(unarmedXP)
- + ", herbalism = " + m.getInt(herbalismXP)
- + ", excavation = " + m.getInt(excavationXP)
- + ", archery = " + m.getInt(archeryXP)
- + ", swords = " + m.getInt(swordsXP)
- + ", axes = " + m.getInt(axesXP)
- + ", acrobatics = " + m.getInt(acrobaticsXP)
- + ", fishing = " + m.getInt(fishingXP)
- + " WHERE user_id = " + id);
- }
- else {
- theCount++;
- //Create the user in the DB
- mcMMO.database.write("INSERT INTO "
- + tablePrefix
- + "users (user, lastlogin) VALUES ('"
- + playerName + "',"
- + System.currentTimeMillis() / 1000 + ")");
- id = mcMMO.database.getInt("SELECT id FROM "
- + tablePrefix
- + "users WHERE user = '"
- + playerName + "'");
- mcMMO.database.write("INSERT INTO "
- + tablePrefix
- + "skills (user_id) VALUES (" + id + ")");
- mcMMO.database.write("INSERT INTO "
- + tablePrefix
- + "experience (user_id) VALUES (" + id
- + ")");
- //Update the skill values
- mcMMO.database.write("UPDATE "
- + tablePrefix
- + "users SET lastlogin = " + 0
- + " WHERE id = " + id);
- mcMMO.database.write("UPDATE "
- + tablePrefix
- + "users SET party = '" + party
- + "' WHERE id = " + id);
- mcMMO.database.write("UPDATE "
- + tablePrefix
- + "skills SET "
- + " taming = taming+" + m.getInt(taming)
- + ", mining = mining+" + m.getInt(mining)
- + ", repair = repair+" + m.getInt(repair)
- + ", woodcutting = woodcutting+" + m.getInt(woodcutting)
- + ", unarmed = unarmed+" + m.getInt(unarmed)
- + ", herbalism = herbalism+" + m.getInt(herbalism)
- + ", excavation = excavation+" + m.getInt(excavation)
- + ", archery = archery+" + m.getInt(archery)
- + ", swords = swords+" + m.getInt(swords)
- + ", axes = axes+" + m.getInt(axes)
- + ", acrobatics = acrobatics+" + m.getInt(acrobatics)
- + ", fishing = fishing+" + m.getInt(fishing)
- + " WHERE user_id = " + id);
- mcMMO.database.write("UPDATE "
- + tablePrefix
- + "experience SET "
- + " taming = " + m.getInt(tamingXP)
- + ", mining = " + m.getInt(miningXP)
- + ", repair = " + m.getInt(repairXP)
- + ", woodcutting = " + m.getInt(woodCuttingXP)
- + ", unarmed = " + m.getInt(unarmedXP)
- + ", herbalism = " + m.getInt(herbalismXP)
- + ", excavation = " + m.getInt(excavationXP)
- + ", archery = " + m.getInt(archeryXP)
- + ", swords = " + m.getInt(swordsXP)
- + ", axes = " + m.getInt(axesXP)
- + ", acrobatics = " + m.getInt(acrobaticsXP)
- + ", fishing = " + m.getInt(fishingXP)
- + " WHERE user_id = " + id);
- }
- }
- System.out.println("[mcMMO] MySQL Updated from users file, " + theCount + " items added/updated to MySQL DB"); //TODO: Locale
- in.close();
- }
- catch (Exception e) {
- plugin.getLogger().severe("Exception while reading " + location + " (Are you sure you formatted it correctly?)" + e.toString());
- }
- }
- }
|