diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 16c2c68fe..787ba6c62 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,7 +5,7 @@
-
+
@@ -14,7 +14,13 @@
-
+
+
+
+
+
+
+
@@ -38,28 +44,42 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -67,49 +87,36 @@
-
-
+
+
-
-
+
+
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -117,28 +124,68 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -172,15 +219,20 @@
-
-
-
+
+
+
+
+
+
+
+
@@ -454,12 +506,28 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -614,7 +682,10 @@
-
+
+
+
+
1411382351159
@@ -680,15 +751,43 @@
1411491737240
1411491737240
-
+
+ 1412010681095
+ 1412010681095
+
+
+ 1412011248692
+ 1412011248692
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -701,8 +800,8 @@
-
-
+
+
@@ -713,7 +812,7 @@
-
+
@@ -746,7 +845,9 @@
-
+
+
+
@@ -758,50 +859,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -838,14 +895,14 @@
+
+
+
-
-
-
@@ -908,7 +965,6 @@
-
@@ -916,7 +972,6 @@
-
@@ -970,19 +1025,10 @@
-
-
-
-
-
-
-
-
-
@@ -997,7 +1043,6 @@
-
@@ -1022,18 +1067,10 @@
-
-
-
-
-
-
-
-
@@ -1041,7 +1078,6 @@
-
@@ -1056,7 +1092,6 @@
-
@@ -1064,15 +1099,6 @@
-
-
-
-
-
-
-
-
-
@@ -1080,7 +1106,6 @@
-
@@ -1088,7 +1113,6 @@
-
@@ -1116,14 +1140,6 @@
-
-
-
-
-
-
-
-
@@ -1132,17 +1148,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PlotSquared/src/com/intellectualcrafters/plot/PlotHelper.java b/PlotSquared/src/com/intellectualcrafters/plot/PlotHelper.java
index f64b6acb0..a901f29af 100644
--- a/PlotSquared/src/com/intellectualcrafters/plot/PlotHelper.java
+++ b/PlotSquared/src/com/intellectualcrafters/plot/PlotHelper.java
@@ -9,19 +9,17 @@
package com.intellectualcrafters.plot;
-import com.google.common.collect.SetMultimap;
import com.intellectualcrafters.plot.database.DBFunc;
-import com.sk89q.worldedit.blocks.ClothColor.ID;
-
import org.bukkit.*;
import org.bukkit.block.Biome;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.block.Sign;
import org.bukkit.entity.Entity;
+import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
-import org.bukkit.material.MaterialData;
+import java.io.File;
import java.util.*;
/**
@@ -442,10 +440,10 @@ public class PlotHelper {
return x;
}
- public static double getWorldFolderSize() {
- // long size =
- // FileUtils.sizeOfDirectory(Bukkit.getWorld(Settings.PLOT_WORLD).getWorldFolder());
- long size = 10;
+ public static double getWorldFolderSize(World world) {
+ //long size = FileUtil.sizeOfDirectory(world.getWorldFolder());
+ File folder = world.getWorldFolder();
+ long size = folder.length();
return (((size) / 1024) / 1024);
}
@@ -727,7 +725,23 @@ public class PlotHelper {
}
return new short[] { Short.parseShort(block), 0 };
}
-
+
+ public static void teleportPlayers(World world, Plot plot, boolean tile) {
+ final Location pos1 = getPlotBottomLoc(world, plot.id).add(1, 0, 1);
+ final Location pos2 = getPlotTopLoc(world, plot.id);
+ for (int i = (pos2.getBlockX() / 16) * 16; i < 16 + (pos2. getBlockX() / 16) * 16; i= 16) {
+ for (int j = (pos1. getBlockZ() / 16) * 16; j < 16 + (pos2.getBlockZ() / 16) * 16; j += 16) {
+ Chunk chunk = world.getChunkAt(i, j);
+ for (Entity entity : chunk.getEntities()) {
+ PlotId id = PlayerFunctions.getPlot(entity.getLocation());
+ if(id != null && id.equals(plot.id) && entity.getType() == EntityType.PLAYER) {
+ entity.teleport(world.getSpawnLocation());
+ // Should this teleport them to floor instead?
+ }
+ }
+ }
+ }
+ }
public static void clearAllEntities(World world, Plot plot, boolean tile) {
final Location pos1 = getPlotBottomLoc(world, plot.id).add(1, 0, 1);
final Location pos2 = getPlotTopLoc(world, plot.id);
@@ -755,15 +769,15 @@ public class PlotHelper {
* @param plot
*/
public static void clear(final Player requester, final Plot plot) {
-
- // TODO teleport any players underground to the surface
-
+
final long start = System.nanoTime();
final World world = requester.getWorld();
// clear entities:
clearAllEntities(world, plot, false);
-
+ //teleport players
+ teleportPlayers(world, plot, false);
+
final PlotWorld plotworld = PlotMain.getWorldSettings(world);
PlotHelper.setBiome(requester.getWorld(), plot, Biome.FOREST);
PlayerFunctions.sendMessage(requester, C.CLEARING_PLOT);
diff --git a/PlotSquared/src/com/intellectualcrafters/plot/PlotMain.java b/PlotSquared/src/com/intellectualcrafters/plot/PlotMain.java
index b77766482..0af961899 100644
--- a/PlotSquared/src/com/intellectualcrafters/plot/PlotMain.java
+++ b/PlotSquared/src/com/intellectualcrafters/plot/PlotMain.java
@@ -110,10 +110,6 @@ public class PlotMain extends JavaPlugin {
return new WorldGenerator(worldname);
}
- /**
- * TODO: Implement better system
- *
- */
@SuppressWarnings("deprecation")
public static void checkForExpiredPlots() {
final JavaPlugin plugin = PlotMain.getMain();
@@ -488,7 +484,6 @@ public class PlotMain extends JavaPlugin {
}
}
- // TODO make this configurable
PlotWorld.BLOCKS = new ArrayList<>(Arrays.asList(new Material[] { ACACIA_STAIRS, BEACON, BEDROCK, BIRCH_WOOD_STAIRS, BOOKSHELF, BREWING_STAND, BRICK, BRICK_STAIRS, BURNING_FURNACE, CAKE_BLOCK, CAULDRON, CLAY_BRICK, CLAY, COAL_BLOCK, COAL_ORE, COBBLE_WALL, COBBLESTONE, COBBLESTONE_STAIRS, COMMAND, DARK_OAK_STAIRS, DAYLIGHT_DETECTOR, DIAMOND_ORE, DIAMOND_BLOCK, DIRT, DISPENSER, DROPPER, EMERALD_BLOCK, EMERALD_ORE, ENCHANTMENT_TABLE, ENDER_PORTAL_FRAME, ENDER_STONE, FURNACE, GLOWSTONE, GOLD_ORE, GOLD_BLOCK, GRASS, GRAVEL, GLASS, HARD_CLAY, HAY_BLOCK, HUGE_MUSHROOM_1, HUGE_MUSHROOM_2, IRON_BLOCK, IRON_ORE, JACK_O_LANTERN, JUKEBOX, JUNGLE_WOOD_STAIRS, LAPIS_BLOCK, LAPIS_ORE, LEAVES, LEAVES_2, LOG, LOG_2, MELON_BLOCK, MOB_SPAWNER, MOSSY_COBBLESTONE, MYCEL, NETHER_BRICK, NETHER_BRICK_STAIRS, NETHERRACK, NOTE_BLOCK, OBSIDIAN, PACKED_ICE, PUMPKIN, QUARTZ_BLOCK, QUARTZ_ORE, QUARTZ_STAIRS, REDSTONE_BLOCK, SANDSTONE, SAND, SANDSTONE_STAIRS, SMOOTH_BRICK, SMOOTH_STAIRS, SNOW_BLOCK,
SOUL_SAND, SPONGE, SPRUCE_WOOD_STAIRS, STONE, WOOD, WOOD_STAIRS, WORKBENCH, WOOL, getMaterial(44), getMaterial(126) }));
if (Settings.KILL_ROAD_MOBS) {
diff --git a/PlotSquared/src/com/intellectualcrafters/plot/Settings.java b/PlotSquared/src/com/intellectualcrafters/plot/Settings.java
index 3154476ac..c7d9e1304 100644
--- a/PlotSquared/src/com/intellectualcrafters/plot/Settings.java
+++ b/PlotSquared/src/com/intellectualcrafters/plot/Settings.java
@@ -81,7 +81,7 @@ public class Settings {
*
*/
public static class DB {
- public static boolean USE_MONGO = false; /* TODO: Implement Mongo */;
+ public static boolean USE_MONGO = false; /* TODO: Implement Mongo @Brandon */;
public static boolean USE_SQLITE = false;
public static boolean USE_MYSQL = true; /* NOTE: Fixed connector */
public static String SQLITE_DB = "storage";
diff --git a/PlotSquared/src/com/intellectualcrafters/plot/commands/Auto.java b/PlotSquared/src/com/intellectualcrafters/plot/commands/Auto.java
index eb3d9adad..96a75ce9e 100644
--- a/PlotSquared/src/com/intellectualcrafters/plot/commands/Auto.java
+++ b/PlotSquared/src/com/intellectualcrafters/plot/commands/Auto.java
@@ -93,6 +93,7 @@ public class Auto extends SubCommand {
PlotId end = new PlotId(x+size_x-1, z+size_z-1);
if (isUnowned(world, start, end)) {
// TODO claim event
+ // Claim.claimPlot calls that event...
for (int i = start.x; i <= end.x; i++) {
for (int j = start.y; j <= end.y; j++) {
Plot plot = PlotHelper.getPlot(world, new PlotId(i,j));
diff --git a/PlotSquared/src/com/intellectualcrafters/plot/commands/Debug.java b/PlotSquared/src/com/intellectualcrafters/plot/commands/Debug.java
index ea0bcb94e..b63a518f3 100644
--- a/PlotSquared/src/com/intellectualcrafters/plot/commands/Debug.java
+++ b/PlotSquared/src/com/intellectualcrafters/plot/commands/Debug.java
@@ -9,15 +9,10 @@
package com.intellectualcrafters.plot.commands;
+import com.intellectualcrafters.plot.*;
+import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
-import com.intellectualcrafters.plot.C;
-import com.intellectualcrafters.plot.Lag;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.PlotHelper;
-import com.intellectualcrafters.plot.PlotMain;
-import com.intellectualcrafters.plot.RUtils;
-
/**
* @author Citymonstret \\SuperCharged Compiler made by Citymonstret\\
* ||#Compiler:ALPHA-1.0#########################
@@ -85,7 +80,10 @@ public class Debug extends SubCommand {
information.append(getSection(section, "PlotWorld"));
information.append(getLine(line, "Plot Worlds", worlds));
information.append(getLine(line, "Owned Plots", PlotMain.getPlots().size()));
- information.append(getLine(line, "PlotWorld Size", PlotHelper.getWorldFolderSize() + "MB"));
+ //information.append(getLine(line, "PlotWorld Size", PlotHelper.getWorldFolderSize() + "MB"));
+ for(String world : PlotMain.getPlotWorlds()) {
+ information.append(getLine(line, "World: " + world + " size", PlotHelper.getWorldFolderSize(Bukkit.getWorld(world))));
+ }
information.append(getLine(line, "Entities", PlotHelper.getEntities(plr.getWorld())));
information.append(getLine(line, "Loaded Tile Entities", PlotHelper.getTileEntities(plr.getWorld())));
information.append(getLine(line, "Loaded Chunks", PlotHelper.getLoadedChunks(plr.getWorld())));
diff --git a/PlotSquared/src/com/intellectualcrafters/plot/commands/Info.java b/PlotSquared/src/com/intellectualcrafters/plot/commands/Info.java
index 061b03741..1e5cf9ee5 100644
--- a/PlotSquared/src/com/intellectualcrafters/plot/commands/Info.java
+++ b/PlotSquared/src/com/intellectualcrafters/plot/commands/Info.java
@@ -9,9 +9,11 @@
package com.intellectualcrafters.plot.commands;
-import java.util.ArrayList;
-import java.util.UUID;
-
+import com.intellectualcrafters.plot.C;
+import com.intellectualcrafters.plot.PlayerFunctions;
+import com.intellectualcrafters.plot.Plot;
+import com.intellectualcrafters.plot.PlotHelper;
+import com.intellectualcrafters.plot.database.DBFunc;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Bukkit;
import org.bukkit.Location;
@@ -20,11 +22,8 @@ import org.bukkit.World;
import org.bukkit.block.Biome;
import org.bukkit.entity.Player;
-import com.intellectualcrafters.plot.C;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.Plot;
-import com.intellectualcrafters.plot.PlotHelper;
-import com.intellectualcrafters.plot.database.DBFunc;
+import java.util.ArrayList;
+import java.util.UUID;
/**
*
@@ -92,8 +91,8 @@ public class Info extends SubCommand {
info = info.replaceAll("%trusted%", getPlayerList(plot.trusted));
info = info.replaceAll("%denied%", getPlayerList(plot.denied));
info = info.replaceAll("%flags%", StringUtils.join(plot.settings.getFlags(), "").length() > 0 ? StringUtils.join(plot.settings.getFlags(), ",") : "none");
- PlayerFunctions.sendMessage(player, PlayerFunctions.getTopPlot(player.getWorld(), plot).id.toString());
- PlayerFunctions.sendMessage(player, PlayerFunctions.getBottomPlot(player.getWorld(), plot).id.toString());
+ //PlayerFunctions.sendMessage(player, PlayerFunctions.getTopPlot(player.getWorld(), plot).id.toString());
+ //PlayerFunctions.sendMessage(player, PlayerFunctions.getBottomPlot(player.getWorld(), plot).id.toString());
PlayerFunctions.sendMessage(player, info);
return true;
}
diff --git a/PlotSquared/src/com/intellectualcrafters/plot/database/DBFunc.java b/PlotSquared/src/com/intellectualcrafters/plot/database/DBFunc.java
index 7564b912f..1ecf08f61 100644
--- a/PlotSquared/src/com/intellectualcrafters/plot/database/DBFunc.java
+++ b/PlotSquared/src/com/intellectualcrafters/plot/database/DBFunc.java
@@ -39,7 +39,7 @@ import com.intellectualcrafters.plot.PlotMain;
*/
public class DBFunc {
- // TODO MongoDB
+ // TODO MongoDB @Brandon
/**
* Set Plot owner
diff --git a/PlotSquared/src/com/intellectualcrafters/plot/database/PlotMeConverter.java b/PlotSquared/src/com/intellectualcrafters/plot/database/PlotMeConverter.java
index f60311bca..43b56210b 100644
--- a/PlotSquared/src/com/intellectualcrafters/plot/database/PlotMeConverter.java
+++ b/PlotSquared/src/com/intellectualcrafters/plot/database/PlotMeConverter.java
@@ -1,5 +1,14 @@
package com.intellectualcrafters.plot.database;
+import com.intellectualcrafters.plot.PlotHomePosition;
+import com.intellectualcrafters.plot.PlotId;
+import com.intellectualcrafters.plot.PlotMain;
+import com.worldcretornica.plotme.PlayerList;
+import com.worldcretornica.plotme.Plot;
+import com.worldcretornica.plotme.PlotManager;
+import org.bukkit.Bukkit;
+import org.bukkit.World;
+
import java.io.PrintStream;
import java.lang.reflect.Field;
import java.util.ArrayList;
@@ -7,19 +16,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
-import org.bukkit.Bukkit;
-import org.bukkit.World;
-
-import com.intellectualcrafters.plot.PlotHomePosition;
-import com.intellectualcrafters.plot.PlotId;
-import com.intellectualcrafters.plot.PlotMain;
-import com.intellectualcrafters.plot.api.PlotAPI;
-import com.sun.org.apache.xerces.internal.impl.dv.DVFactoryException;
-import com.worldcretornica.plotme.PlayerList;
-import com.worldcretornica.plotme.Plot;
-import com.worldcretornica.plotme.PlotManager;
-import com.worldcretornica.plotme.PlotMe;
-
/**
* Created by Citymonstret on 2014-08-17.
*/
@@ -32,6 +28,10 @@ public class PlotMeConverter {
}
public void runAsync() throws Exception {
+
+ /* TODO Fix this... */
+ boolean offlineMode = Bukkit.getOnlineMode();
+
final PrintStream stream = new PrintStream("converter_log.txt");
PlotMain.sendConsoleSenderMessage("PlotMe->PlotSquared Conversion has started");
@@ -174,7 +174,8 @@ public class PlotMeConverter {
// TODO disable PlotMe -> Unload all plot worlds, change the generator, restart the server automatically
// Possibly use multiverse / multiworld if it's to difficult modifying a world's generator while the server is running
-
+ // Should really do that? Would seem pretty bad from our side + bukkit wouldn't approve
+
Bukkit.getPluginManager().disablePlugin(PlotMeConverter.this.plugin);
}
});