worldborder + offline player conversion

This commit is contained in:
Jesse Boyd 2015-01-19 21:36:29 -08:00
parent 3f92b43ccf
commit 1837a9a247
6 changed files with 29 additions and 12 deletions

View File

@ -24,7 +24,6 @@ package com.intellectualcrafters.plot.commands;
import java.util.UUID; import java.util.UUID;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.intellectualcrafters.plot.PlotMain; import com.intellectualcrafters.plot.PlotMain;
@ -35,7 +34,7 @@ import com.intellectualcrafters.plot.object.Plot;
import com.intellectualcrafters.plot.util.PlayerFunctions; import com.intellectualcrafters.plot.util.PlayerFunctions;
import com.intellectualcrafters.plot.util.UUIDHandler; import com.intellectualcrafters.plot.util.UUIDHandler;
@SuppressWarnings("deprecation") public class Helpers extends SubCommand { public class Helpers extends SubCommand {
public Helpers() { public Helpers() {
super(Command.HELPERS, "Manage plot helpers", "helpers {add|remove} {player}", CommandCategory.ACTIONS, true); super(Command.HELPERS, "Manage plot helpers", "helpers {add|remove} {player}", CommandCategory.ACTIONS, true);

View File

@ -39,7 +39,7 @@ public class plugin extends SubCommand {
public static String downloads, version; public static String downloads, version;
public plugin() { public plugin() {
super("plugin", "plots.use", "Show plugin information", "plugin", "pl", CommandCategory.INFO, false); super("plugin", "plots.use", "Show plugin information", "plugin", "version", CommandCategory.INFO, false);
} }
public static void setup(final JavaPlugin plugin) { public static void setup(final JavaPlugin plugin) {
@ -99,7 +99,7 @@ public class plugin extends SubCommand {
{ {
add(String.format("&c>> &6PlotSquared (Version: %s)", PlotMain.getMain().getDescription().getVersion())); add(String.format("&c>> &6PlotSquared (Version: %s)", PlotMain.getMain().getDescription().getVersion()));
add(String.format("&c>> &6Made by Citymonstret and Empire92")); add(String.format("&c>> &6Made by Citymonstret and Empire92"));
add(String.format("&c>> &6Download at &lhttp://i-s.link/ps")); add(String.format("&c>> &6Download at &lhttp://www.spigotmc.org/resources/1177"));
add(String.format("&c>> &cNewest Version (Spigot): %s", version)); add(String.format("&c>> &cNewest Version (Spigot): %s", version));
add(String.format("&c>> &cTotal Downloads (Spigot): %s", downloads)); add(String.format("&c>> &cTotal Downloads (Spigot): %s", downloads));
} }

View File

@ -23,6 +23,7 @@ package com.intellectualcrafters.plot.database;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.ByteBuffer;
import java.sql.Connection; import java.sql.Connection;
import java.sql.DriverManager; import java.sql.DriverManager;
import java.sql.ResultSet; import java.sql.ResultSet;
@ -119,8 +120,15 @@ public class PlotMeConverter {
if (name.equals("*")) { if (name.equals("*")) {
owner = DBFunc.everyone; owner = DBFunc.everyone;
} else { } else {
sendMessage("&cCould not identify owner for plot: " + id); try {
continue; UUID uuid = uuidFromBytes(r.getBytes("ownerId"));
owner = UUIDHandler.getUUID(UUIDHandler.getName(uuid));
}
catch (Exception e) {}
if (owner == null) {
sendMessage("&cCould not identify owner for plot: " + id +" -> " + name);
continue;
}
} }
} }
final Plot plot = new Plot(id, owner, new ArrayList<UUID>(), new ArrayList<UUID>(), world); final Plot plot = new Plot(id, owner, new ArrayList<UUID>(), new ArrayList<UUID>(), world);
@ -311,4 +319,10 @@ public class PlotMeConverter {
} }
}, 20); }, 20);
} }
private UUID uuidFromBytes(byte[] byteArray) {
ByteBuffer wrapped = ByteBuffer.wrap(byteArray);
long minor = wrapped.getLong();
long major = wrapped.getLong();
return new UUID(major, minor);
}
} }

View File

@ -138,7 +138,7 @@ public class PlayerEvents extends com.intellectualcrafters.plot.listeners.PlotLi
} }
String worldname = q.getWorld().getName(); String worldname = q.getWorld().getName();
if (PlotHelper.worldBorder.containsKey(worldname)) { if (PlotHelper.worldBorder.containsKey(worldname)) {
int border = PlotHelper.worldBorder.get(worldname); int border = PlotHelper.getBorder(worldname);
boolean passed = false; boolean passed = false;
if (t.getBlockX() >= border) { if (t.getBlockX() >= border) {
q.setX(border); q.setX(border);

View File

@ -67,10 +67,10 @@ import com.intellectualcrafters.plot.object.PlotWorld;
public static HashMap<String, PlotId> lastPlot = new HashMap<>(); public static HashMap<String, PlotId> lastPlot = new HashMap<>();
public static HashMap<String, Integer> worldBorder = new HashMap<>(); public static HashMap<String, Integer> worldBorder = new HashMap<>();
public static int getBorder(World world) { public static int getBorder(String worldname) {
String worldname = world.getName();
if (worldBorder.containsKey(worldname)) { if (worldBorder.containsKey(worldname)) {
return worldBorder.get(worldname); PlotWorld plotworld = PlotMain.getWorldSettings(worldname);
return worldBorder.get(worldname) + 16;
} }
return Integer.MAX_VALUE; return Integer.MAX_VALUE;
} }
@ -80,6 +80,9 @@ import com.intellectualcrafters.plot.object.PlotWorld;
if (!plotworld.WORLD_BORDER) { if (!plotworld.WORLD_BORDER) {
return; return;
} }
if (!worldBorder.containsKey(world)) {
worldBorder.put(world,0);
}
for (Plot plot : PlotMain.getPlots(world).values()) { for (Plot plot : PlotMain.getPlots(world).values()) {
updateWorldBorder(plot); updateWorldBorder(plot);
} }

View File

@ -17,6 +17,7 @@ import com.intellectualcrafters.plot.config.C;
import com.intellectualcrafters.plot.config.Settings; import com.intellectualcrafters.plot.config.Settings;
import com.intellectualcrafters.plot.object.StringWrapper; import com.intellectualcrafters.plot.object.StringWrapper;
import com.intellectualcrafters.plot.uuid.DefaultUUIDWrapper; import com.intellectualcrafters.plot.uuid.DefaultUUIDWrapper;
import com.intellectualcrafters.plot.uuid.OfflineUUIDWrapper;
import com.intellectualcrafters.plot.uuid.UUIDWrapper; import com.intellectualcrafters.plot.uuid.UUIDWrapper;
public class UUIDHandler { public class UUIDHandler {
@ -203,8 +204,8 @@ public class UUIDHandler {
return uuid; return uuid;
} }
// Read from disk // Read from disk OR convert directly to offline UUID
if (Settings.UUID_FROM_DISK) { if (Settings.UUID_FROM_DISK || uuidWrapper instanceof OfflineUUIDWrapper) {
OfflinePlayer op = Bukkit.getOfflinePlayer(name); OfflinePlayer op = Bukkit.getOfflinePlayer(name);
uuid = UUIDHandler.uuidWrapper.getUUID(op); uuid = UUIDHandler.uuidWrapper.getUUID(op);
add(new StringWrapper(name), uuid); add(new StringWrapper(name), uuid);