Added Support for UUID

This commit is contained in:
Sn0wStorm
2014-06-06 01:27:27 +02:00
parent 28dcfbe5d2
commit e8c905e19f
7 changed files with 169 additions and 68 deletions
+42 -3
View File
@@ -7,6 +7,7 @@ import java.util.ListIterator;
import java.util.HashMap;
import java.io.IOException;
import java.io.File;
import java.util.UUID;
import java.util.logging.Level;
import org.bukkit.entity.Player;
@@ -35,6 +36,7 @@ public class P extends JavaPlugin {
public static int lastBackup = 0;
public static int lastSave = 1;
public static int autosave = 3;
public static boolean useUUID;
// Third Party Enabled
public boolean useWG; //WorldGuard
@@ -57,6 +59,11 @@ public class P extends JavaPlugin {
public void onEnable() {
p = this;
// Version check
String v = Bukkit.getBukkitVersion();
useUUID = !v.matches(".*1\\.[1-6].*") && !v.matches(".*1\\.7\\.[0-5].*");
P.p.log("Bukkit Version: " + v + "uuid: " + useUUID);
readConfig();
readData();
@@ -105,7 +112,7 @@ public class P extends JavaPlugin {
BIngredients.possibleIngredients.clear();
BIngredients.recipes.clear();
BIngredients.cookedNames.clear();
BPlayer.players.clear();
BPlayer.clear();
Brew.potions.clear();
Wakeup.wakeups.clear();
Words.words.clear();
@@ -319,6 +326,17 @@ public class P extends JavaPlugin {
if (section != null) {
// keys have players name
for (String name : section.getKeys(false)) {
try {
UUID.fromString(name);
if (!useUUID) {
continue;
}
} catch (IllegalArgumentException e) {
if (useUUID) {
continue;
}
}
int quality = section.getInt(name + ".quality");
int drunk = section.getInt(name + ".drunk");
int offDrunk = section.getInt(name + ".offDrunk", 0);
@@ -493,7 +511,7 @@ public class P extends JavaPlugin {
Barrel.save(configFile.createSection("Barrel"), oldData.getConfigurationSection("Barrel"));
}
if (!BPlayer.players.isEmpty()) {
if (!BPlayer.isEmpty()) {
BPlayer.save(configFile.createSection("Player"));
}
@@ -651,6 +669,27 @@ public class P extends JavaPlugin {
return msg;
}
// Returns either uuid or Name of player, depending on bukkit version
public static String playerString(Player player) {
if (useUUID) {
return player.getUniqueId().toString();
} else {
return player.getName();
}
}
// returns the Player if online
public static Player getPlayerfromString(String name) {
if (useUUID) {
try {
return Bukkit.getPlayer(UUID.fromString(name));
} catch (IllegalArgumentException e) {
return Bukkit.getPlayerExact(name);
}
}
return Bukkit.getPlayerExact(name);
}
// Runnables
public class DrunkRunnable implements Runnable {
@@ -660,7 +699,7 @@ public class P extends JavaPlugin {
@Override
public void run() {
if (!BPlayer.players.isEmpty()) {
if (!BPlayer.isEmpty()) {
BPlayer.drunkeness();
}
}