diff --git a/.classpath b/.classpath index d97f6549b..e975a8129 100644 --- a/.classpath +++ b/.classpath @@ -4,10 +4,12 @@ - - + + + + diff --git a/.gitignore b/.gitignore index e644e923c..1cc2342d2 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,7 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* /bin + +.classpath +*.classpath +.classpath \ No newline at end of file diff --git a/PlotSquared/src/com/intellectualcrafters/plot/PlotManager.java b/PlotSquared/src/com/intellectualcrafters/plot/PlotManager.java new file mode 100644 index 000000000..de01a7bc3 --- /dev/null +++ b/PlotSquared/src/com/intellectualcrafters/plot/PlotManager.java @@ -0,0 +1,65 @@ +package com.intellectualcrafters.plot; + +import org.bukkit.Location; +import org.bukkit.World; +import org.bukkit.block.Biome; +import org.bukkit.block.Block; +import org.bukkit.entity.Player; + +public abstract class PlotManager { + public final PlotWorld plotworld; + + public PlotManager(PlotWorld plotworld) { + this.plotworld = plotworld; + } + + /* + * Plot locations (methods with Abs in them will not need to consider mega plots) + */ + + public abstract PlotId getPlotIdAbs(World world, Location loc); + + public abstract boolean isInPlotAbs(Location loc, Plot plot); + + public abstract Location getPlotBottomLocAbs(Plot plot); // If you have a circular plot, just return the corner if it were a square + + public abstract Location getPlotTopLocAbs(Plot plot); // the same applies here + + /* + * Plot clearing (return false if you do not support some method) + */ + + public abstract boolean clearPlotAbs(Player player, Plot plot); + + public abstract boolean clearSignAbs(Player player, Plot plot); + + public abstract boolean clearEntitiesAbs(Player player, Plot plot); + + // The function below will apply to MEGA PLOTS, return false if you don't support clearing of mega plots + // the function getPlotBottomLoc(plot) will return the bottom location of the entire mega plot + public abstract boolean clearMegaPlot(Player player, Plot plot); + + /* + * Plot set functions (return false if you do not support the specific set method) + */ + + public abstract boolean setWall(Player player, Plot plot, Block block); + + public abstract boolean setBiome(Player player, Plot plot, Biome biome); + + /* + * PLOT MERGING (return false if your generator does not support plot merging) + */ + public abstract boolean createRoadEast(Plot plot); + + public abstract boolean createRoadSouth(Plot plot); + + public abstract boolean createRoadSouthEast(Plot plot); + + public abstract boolean removeRoadEast(Plot plot); + + public abstract boolean removeRoadSouth(Plot plot); + + public abstract boolean removeRoadSouthEast(Plot plot); + +} diff --git a/PlotSquared/src/com/intellectualcrafters/plot/commands/Setup.java b/PlotSquared/src/com/intellectualcrafters/plot/commands/Setup.java index 533bfb5d3..f1f4f91f7 100644 --- a/PlotSquared/src/com/intellectualcrafters/plot/commands/Setup.java +++ b/PlotSquared/src/com/intellectualcrafters/plot/commands/Setup.java @@ -169,7 +169,7 @@ public class Setup extends SubCommand implements Listener { } public Setup() { - super("setup", "plots.admin", "Setup a PlotWorld", "/plot setup {world}", "setup", CommandCategory.ACTIONS); + super("setup", "plots.admin", "Setup a PlotWorld", "setup {world}", "setup", CommandCategory.ACTIONS); } @Override diff --git a/PlotSquared/src/plugin.yml b/PlotSquared/src/plugin.yml index 656f574cc..c4ba2f754 100644 --- a/PlotSquared/src/plugin.yml +++ b/PlotSquared/src/plugin.yml @@ -1,6 +1,6 @@ name: PlotSquared main: com.intellectualcrafters.plot.PlotMain -version: 2.0.3 +version: 2.0.5 load: STARTUP description: > Easy, yet powerful Plot World generation and management.