diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 000000000..825d18d74
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+plot_news
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 000000000..217af471a
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
new file mode 100644
index 000000000..e7bedf337
--- /dev/null
+++ b/.idea/copyright/profiles_settings.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 000000000..e206d70d8
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 000000000..3b3e9d6dd
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 000000000..a6aa781c2
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml
new file mode 100644
index 000000000..922003b84
--- /dev/null
+++ b/.idea/scopes/scope_settings.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 000000000..3b0002030
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,125 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 000000000..275077f82
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 000000000..15a7a9ecc
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,509 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ localhost
+ 5050
+
+
+
+
+
+
+ 1411382235722
+ 1411382235722
+
+
+
+
+
+ 1411382351159
+ 1411382351159
+
+
+ 1411383645660
+ 1411383645660
+
+
+ 1411383734427
+ 1411383734427
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No facets are configured
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.7
+
+
+
+
+
+
+
+
+
+
+
+ PlotSquared
+
+
+
+
+
+
+
+
+
+
+
+ 1.7
+
+
+
+
+
+
+
+
+
+
+
+ lib
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/out/production/plot_news1/plot_news1.iml b/out/production/plot_news1/plot_news1.iml
new file mode 100644
index 000000000..b6f444bc3
--- /dev/null
+++ b/out/production/plot_news1/plot_news1.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/com/intellectualcrafters/plot/C.java b/src/com/intellectualcrafters/plot/C.java
deleted file mode 100644
index 9b4212a39..000000000
--- a/src/com/intellectualcrafters/plot/C.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = C.java
- * >> Generated by: Citymonstret at 2014-08-09 01:43
- */
-
-package com.intellectualcrafters.plot;
-
-import org.bukkit.ChatColor;
-
-/**
- * Captions class.
- * @author Citymonstret
- *
- */
-public enum C {
- /*
- Schematic Stuff
- */
- SCHEMATIC_MISSING_ARG("&cYou need to specify an argument. Possible values: &6test {name}"),
- SCHEMATIC_INVALID("&cThat is not a valid schematic. Reason: &c%s"),
- SCHEMATIC_VALID("&cThat's a valid schematic"),
- /*
- Title Stuff
- */
- TITLE_ENTERED_PLOT("You entered plot %s"),
- TITLE_ENTERED_PLOT_COLOR("GOLD"),
- TITLE_ENTERED_PLOT_SUB("Owned by %s"),
- TITLE_ENTERED_PLOT_SUB_COLOR("RED"),
- TITLE_LEFT_PLOT("You entered plot %s"),
- TITLE_LEFT_PLOT_COLOR("GOLD"),
- TITLE_LEFT_PLOT_SUB("Owned by %s"),
- TITLE_LEFT_PLOT_SUB_COLOR("RED"),
- /*
- Core Stuff
- */
- PREFIX("&c[&6&lPlot&c] "),
- ENABLED("&6Plots are now enabled"),
- EXAMPLE_MESSAGE("&cThis is an example message &k!!!"),
- /*
- Reload
- */
- RELOADED_CONFIGS("&6The translation files has been reloaded"),
- RELOAD_FAILED("&cFailed to reload the translations file"),
- /*
- BarAPI
- */
- BOSSBAR_CLEARING("&cClearing plot: &6%id%"),
- /*
- Alias
- */
- ALIAS_SET_TO("&cPlot alias set to &6%alias%"),
- MISSING_ALIAS("&cYou need to specify the alias"),
- ALIAS_IS_TAKEN("&cThat alias is already taken"),
- /*
- Position
- */
- MISSING_POSITION("&cYou need to specify a position. Possible values: &6default&c, &6center"),
- POSITION_SET("&cPlot home position set"),
- INVALID_POSITION("&cThat is not a valid position value"),
- /*
- Time
- */
- TIME_FORMAT("&6%hours%, %min%, %sec%"),
- /*
- Permission
- */
- NO_PERMISSION("&cYou don't have the permissions required to use this command."),
- NO_PLOT_PERMS("&cYou don't have the permissions to do that in this plot"),
- CANT_CLAIM_MORE_PLOTS("&cYou can't claim more plots."),
- YOU_BE_DENIED("&cYou are not allowed to enter this plot"),
- /*
- Commands
- */
- NOT_VALID_SUBCOMMAND("&cThat is not a valid subcommand."),
- NO_COMMANDS("&cI'm sorry, but you're not permitted to use any subcommands."),
- SUBCOMMAND_SET_OPTIONS_HEADER("&cPossible Values: "),
- /*
- No {plot}
- */
- NOT_IN_PLOT("&cYou're not in a plot"),
- NOT_IN_PLOT_WORLD("&cYou're not in a plot world"),
- NO_PLOTS("&cYou don't have any plots"),
- /*
- Block List
- */
- NOT_VALID_BLOCK_LIST_HEADER("&cThat's not a valid block. Valid blocks are:\\n"),
- BLOCK_LIST_ITEM(" &6%mat%&c,"),
- /*
- Biome
- */
- NEED_BIOME("&cYou've got to specify a biome"),
- BIOME_SET_TO("&cPlot biome set to &c"),
- /*
- Teleport / Entry
- */
- TELEPORTED_TO_PLOT("&6You have been teleported"),
- /*
- Set Block
- */
- SET_BLOCK_ACTION_FINISHED("&6The last setblock action is now finished."),
- /*
- Debug
- */
- DEUBG_HEADER("&6Debug Information\\n"),
- DEBUG_SECTION("&c>> &6&l%val%"),
- DEBUG_LINE("&c>> &6%var%&c:&6 %val%\\n"),
- /*
- Invalid
- */
- NOT_VALID_DATA("&cThat's not a valid data id."),
- NOT_VALID_BLOCK("&cThat's not a valid block."),
- NOT_VALID_NUMBER("&cThat's not a valid number"),
- NOT_VALID_PLOT_ID("&cThat's not a valid plot id."),
- NOT_YOUR_PLOT("&cThat is not your plot."),
- NO_SUCH_PLOT("&cThere is no such plot"),
- PLAYER_HAS_NOT_BEEN_ON("&cThat player hasn't been in the plotworld"),
- FOUND_NO_PLOTS("&cFound no plots with your search query"),
- /*
- Camera
- */
- CAMERA_STARTED("&cYou have entered camera mode for plot &6%s"),
- CAMERA_STOPPED("&cYou are no longer in camera mode"),
- /*
- Need
- */
- NEED_PLOT_NUMBER("&cYou've got to specify a plot number or alias"),
- NEED_BLOCK("&cYou've got to specify a block"),
- NEED_PLOT_ID("&cYou've got to specify a plot id."),
- NEED_USER("&cYou need to specify a username"),
- /*
- Info
- */
- PLOT_INFO_UNCLAIMED("&cPlot &6%s&c is not yet claimed"),
- PLOT_INFO("plot ID: &6%id%&c, plot Alias: &6%alias%&c, plot Owner: &6%owner%&c, plot Biome: &6%biome%&c, plot Time: &6%time%&c, plot Weather: &6%weather%&c, plot Helpers:&6%helpers%&c, plot Denied:&6%denied%&c"),
- PLOT_USER_LIST(" &6%user%&c,"),
- /*
- Generating
- */
- GENERATING_FLOOR("&6Started generating floor from your settings. It will take %time%"),
- GENERATING_WALL("&6Started generating wall from your settings"),
- GENERATING_WALL_FILLING("&cStarted generating wall filling from your settings."),
- /*
- Clearing
- */
- CLEARING_PLOT("&cClearing plot."),
- CLEARING_DONE("&aDone! Took %time% seconds"),
- /*
- Claiming
- */
- PLOT_IS_CLAIMED("&cThis plot is already claimed"),
- CLAIMED("&6You successfully claimed the plot"),
- /*
- List
- */
- PLOT_LIST_HEADER("&6List of %word% plots"),
- PLOT_LIST_ITEM("&c>> &6%id% &c- &6%owner%"),
- PLOT_LIST_FOOTER("&c>> &6%word% a total of &c%num% &6claimed %plot%."),
- /*
- Left
- */
- LEFT_PLOT("&cYou left a plot"),
- /*
- Wait
- */
- WAIT_FOR_TIMER("&cA setblock timer is bound to either the current plot or you. Please wait for it to finish"),
- /*
- Chat
- */
- PLOT_CHAT_FORMAT("&c[&6Plot Chat&c][&6%plot_id%&c] &6%sender%&c: &6%msg%"),
- /*
- Denied
- */
- DENIED_REMOVED("&cYou successfully undenied the player from this plot"),
- DENIED_ADDED("&cYou successfully denied the player from this plot"),
- DENIED_NEED_ARGUMENT("&cArguments are missing. &6/plot denied add {name} &cor &6/plot helpers remove {name}"),
- WAS_NOT_DENIED("&cThat player was not denied on this plot"),
- /*
- Rain
- */
- NEED_ON_OFF("&cYou need to specify a value. Possible values: &6on&c, &6off"),
- SETTING_UPDATED("&cYou successfully updated the setting"),
- /*
- Helper
- */
- HELPER_ADDED("&6You successfully added a helper to the plot"),
- HELPER_REMOVED("&6You successfully removed a helper from the plot"),
- HELPER_NEED_ARGUMENT("&cArguments are missing. &6/plot helpers add {name} &cor &6/plot helpers remove {name}"),
- WAS_NOT_ADDED("&cThat player was not added as a helper on this plot"),
- /*
- Set Owner
- */
- SET_OWNER("&6You successfully set the plot owner"),
- /*
- Signs
- */
- OWNER_SIGN_LINE_1("&cID: &6%id%"),
- OWNER_SIGN_LINE_2("&cOwner:"),
- OWNER_SIGN_LINE_3("&6%plr%"),
- OWNER_SIGN_LINE_4("&2Claimed"),
- /*
- Help
- */
- HELP_CATEGORY("&6Current Category&c: &l%category%"),
- HELP_INFO("&6You need to specify a help category"),
- HELP_INFO_ITEM("&6/plots help %category% &c- &6%category_desc%"),
- HELP_PAGE("&c>> &6%usage% &c[&6%alias%&c] &c- &6%desc%"),
- HELP_HEADER("&6Help for Plots"),
- /*
- Custom
- */
- CUSTOM_STRING("-")
- ;
- /**
- * Default
- */
- private String d;
- /**
- * Translated
- */
- private String s;
-
- /**
- * Constructor for custom strings.
- */
- @SuppressWarnings("unused")
- C() {
- /*
- use setCustomString();
- */
- }
-
- /**
- * Constructor
- * @param d default
- */
- C(String d) {
- this.d = d;
- this.s = PlotMain.translations.getString(this.toString());
- if (this.s==null) {
- this.s = "";
- }
- }
-
- /**
- * Get the default string
- * @return default
- */
- @SuppressWarnings("unused")
- public String d() {
- return this.d;
- }
-
- /**
- * Get translated if exists
- * @return translated if exists else default
- */
- public String s() {
- if(this.s.length() < 1)
- return this.d.replace("\\n", "\n");
- return this.s.replace("\\n", "\n");
- }
-
- /**
- *
- * @return translated and color decoded
- */
- public String translated() {
- return ChatColor.translateAlternateColorCodes('&', this.s());
- }
-
-
-}
\ No newline at end of file
diff --git a/src/com/intellectualcrafters/plot/LSetCube.java b/src/com/intellectualcrafters/plot/LSetCube.java
deleted file mode 100644
index 3c640b360..000000000
--- a/src/com/intellectualcrafters/plot/LSetCube.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = LSetCube.java
- * >> Generated by: Citymonstret at 2014-08-09 01:43
- */
-
-package com.intellectualcrafters.plot;
-
-import org.bukkit.Location;
-
-/**
- * Cube utilities
- * @author Citymonstret
- *
- */
-public class LSetCube {
-
- /**
- * Base locations
- */
- private Location l1,l2;
-
- /**
- * Constructor
- * @param l1
- * @param l2
- */
- public LSetCube(Location l1, Location l2) {
- this.l1 = l1;
- this.l1 = l2;
- }
-
- /**
- * Secondary constructor
- * @param l1
- * @param size
- */
- public LSetCube(Location l1, int size) {
- this.l1 = l1;
- this.l2 = l1.clone().add(size, size, size);
- }
-
- /**
- * Returns the absolute min. of the cube
- * @return abs. min
- */
- public Location minLoc() {
- int x = Math.min(l1.getBlockX(), l2.getBlockX());
- int y = Math.min(l1.getBlockY(), l2.getBlockY());
- int z = Math.min(l1.getBlockZ(), l2.getBlockZ());
- return new Location(l1.getWorld(), x, y, z);
- }
-
- /**
- * Returns the absolute max. of the cube
- * @return abs. max
- */
- public Location maxLoc() {
- int x = Math.max(l1.getBlockX(), l2.getBlockX());
- int y = Math.max(l1.getBlockY(), l2.getBlockY());
- int z = Math.max(l1.getBlockZ(), l2.getBlockZ());
- return new Location(l1.getWorld(), x, y, z);
- }
-
- /**
- * Creates a LCycler for the cube.
- * @return new lcycler
- */
- public LCycler getCycler() {
- return new LCycler(this);
- }
-
- /**
- * @author Citymonstret
- */
- protected class LCycler {
- /**
- *
- */
- private Location min;
- /**
- *
- */
- private Location max;
- /**
- *
- */
- private Location current;
-
- /**
- *
- * @param cube
- */
- public LCycler(LSetCube cube) {
- this.min = cube.minLoc();
- this.max = cube.maxLoc();
- this.current = this.min;
- }
-
- /**
- *
- * @return
- */
- public boolean hasNext() {
- return ((this.current.getBlockX() + 1) <= this.max.getBlockX()) && ((this.current.getBlockY() + 1) <= this.max.getBlockY()) && ((this.current.getBlockZ() + 1) <= this.max.getBlockZ());
- }
-
- /**
- *
- * @return
- */
- public Location getNext() {
- if(!hasNext()) return null;
- this.current = this.current.add(1,1,1);
- return this.current;
- }
- }
-}
diff --git a/src/com/intellectualcrafters/plot/Lag.java b/src/com/intellectualcrafters/plot/Lag.java
deleted file mode 100644
index 3542dabbf..000000000
--- a/src/com/intellectualcrafters/plot/Lag.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Lag.java
- * >> Generated by: Citymonstret at 2014-08-09 01:43
- */
-
-package com.intellectualcrafters.plot;
-
-/**
- * TPS and Lag Checker.
- * @author Citymonstret
- *
- */
-public class Lag implements Runnable{
-
- /**
- * Tick count
- */
- public static int TC = 0;
- /**
- * Ticks
- */
- public static long[] T = new long[600];
- /**
- * something :_:
- */
- @SuppressWarnings("unused")
- public static long LT = 0L;
-
- /**
- * Get the server TPS
- * @return server tick per second
- */
- public static double getTPS() {
- return Math.round(getTPS(100)) > 20.0D ? 20.0D : Math.round(getTPS(100));
- }
-
- /**
- * Return the tick per second (measured in $ticks)
- * @param ticks Ticks
- * @return ticks per second
- */
- public static double getTPS(int ticks) {
- if(TC < ticks)
- return 20.0D;
- int t = (TC - 1 - ticks) % T.length;
- long e = System.currentTimeMillis() - T[t];
- return ticks / (e / 1000.0D);
- }
-
- /**
- * Get number of ticks since
- * @param tI Ticks <
- * @return number of ticks since $tI
- */
- @SuppressWarnings("unused")
- public static long getElapsed(int tI) {
- long t = T[tI % T.length];
- return System.currentTimeMillis() - t;
- }
-
- @Override
- public void run() {
- T[TC % T.length] = System.currentTimeMillis();
- TC++;
- }
-
- /**
- * Get lag percentage
- * @return lag percentage
- */
- public static double getPercentage() {
- return Math.round((1.0D - Lag.getTPS() / 20.0D) * 100.0D);
- }
-
- /**
- * Get TPS percentage (of 20)
- * @return TPS percentage
- */
- public static double getFullPercentage() {
- return getTPS() * 5.0D;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/Logger.java b/src/com/intellectualcrafters/plot/Logger.java
deleted file mode 100644
index 26864cf2b..000000000
--- a/src/com/intellectualcrafters/plot/Logger.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Logger.java
- * >> Generated by: Citymonstret at 2014-08-09 01:43
- */
-
-package com.intellectualcrafters.plot;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Date;
-
-/**
- * Logging of errors and debug messages.
- * @author Citymonstret
- *
- */
-public class Logger {
-
- private static ArrayList entries;
- private static File log;
-
- public static void setup(File file) {
- log = file;
- entries = new ArrayList<>();
- try {
- BufferedReader reader = new BufferedReader(new FileReader(file));
- String line;
- while((line = reader.readLine()) != null) {
- entries.add(line);
- }
- reader.close();
- } catch(IOException e) {
- PlotMain.sendConsoleSenderMessage(C.PREFIX.s() + "File setup error Logger#setup");
- }
- }
-
- public enum LogLevel {
- GENERAL("General"),
- WARNING("Warning"),
- DANGER("Danger");
- private String name;
- LogLevel(String name) {
- this.name = name;
- }
- @Override
- public String toString() {
- return this.name;
- }
- }
-
- public static void write() throws IOException {
- FileWriter writer = new FileWriter(log);
- for(String string : entries) {
- writer.write(string + System.lineSeparator());
- }
- writer.close();
- }
-
- public static void add(LogLevel level, String string) {
- append("[" + level.toString() + "] " + string);
- }
-
- private static void append(String string) {
- entries.add("[" + new Date().toString() + "]" + string);
- }
-}
diff --git a/src/com/intellectualcrafters/plot/PWE.java b/src/com/intellectualcrafters/plot/PWE.java
deleted file mode 100644
index 78f3fde20..000000000
--- a/src/com/intellectualcrafters/plot/PWE.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.intellectualcrafters.plot;
-
-import org.bukkit.Location;
-import org.bukkit.World;
-import org.bukkit.entity.Player;
-
-import com.sk89q.worldedit.LocalSession;
-import com.sk89q.worldedit.LocalWorld;
-import com.sk89q.worldedit.Vector;
-import com.sk89q.worldedit.bukkit.BukkitPlayer;
-import com.sk89q.worldedit.masks.RegionMask;
-import com.sk89q.worldedit.regions.CuboidRegion;
-
-
-/**
- *
- * @author Citymonstret
- *
- */
-public class PWE {
-
- public static void setMask(Player p, Location l) {
- LocalSession s = PlotMain.worldEdit.getSession(p);
- Plot plot = PlayerFunctions.getCurrentPlot(p);
- if (plot!=null) {
- boolean r;
- if (plot.getOwner()!=null)
- r = plot.getOwner().equals(p.getUniqueId());
- else
- r = false;
- if (!r) {
- if (p.hasPermission("plots.we.member") && plot.hasRights(p))
- r = true;
- else if (p.hasPermission("plots.we.bypass")) {
- s.setMask(null);
- return;
- }
- }
- if (r) {
- World w = p.getWorld();
- Location b = PlotHelper.getPlotBottomLoc(w, plot.id);
- Location t = PlotHelper.getPlotTopLoc(w, plot.id);
- Vector p1 = new Vector(b.getBlockX(),b.getBlockY(),b.getBlockZ());
- Vector p2 = new Vector(t.getBlockX(),t.getBlockY(),t.getBlockZ());
- LocalWorld world = PlotMain.worldEdit.wrapPlayer(p).getWorld();
- CuboidRegion cr = new CuboidRegion(world, p1, p2);
- RegionMask rm = new RegionMask(cr);
- s.setMask(rm);
- return;
- }
- }
- if(s.getMask() == null) {
- BukkitPlayer plr = PlotMain.worldEdit.wrapPlayer(p);
- LocalWorld world = plr.getWorld();
- Vector p1 = new Vector(0,0,0), p2 = new Vector(0,0,0);
- s.setMask(new RegionMask(new CuboidRegion(world, p1, p2)));
- }
- }
-
- public static void removeMask(Player p) {
- LocalSession s = PlotMain.worldEdit.getSession(p);
- s.setMask(null);
- }
-}
diff --git a/src/com/intellectualcrafters/plot/PlayerFunctions.java b/src/com/intellectualcrafters/plot/PlayerFunctions.java
deleted file mode 100644
index 5d439dbee..000000000
--- a/src/com/intellectualcrafters/plot/PlayerFunctions.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = PlayerFunctions.java
- * >> Generated by: Citymonstret at 2014-08-09 01:43
- */
-
-package com.intellectualcrafters.plot;
-
-import org.bukkit.*;
-import org.bukkit.block.Biome;
-import org.bukkit.entity.Player;
-
-import java.util.*;
-
-/**
- * Functions involving players, plots and locations.
- * @author Citymonstret
- *
- */
-@SuppressWarnings("javadoc")
-public class PlayerFunctions {
-
- /**
- *
- * @param player player
- * @return
- */
- public static boolean isInPlot(Player player) {
- return getCurrentPlot(player) != null;
- }
-
- /**
- *
- * @param plot plot
- * @return
- */
- public static boolean hasExpired(Plot plot) {
- OfflinePlayer player = Bukkit.getOfflinePlayer(plot.owner);
- long lp = player.getLastPlayed();
- long cu = System.currentTimeMillis();
- return (lp - cu) > 30l;
- }
-
- /**
- *
- * @param loc
- * @return
- */
- public static PlotId getPlot(Location loc) {
- int valx = loc.getBlockX();
- int valz = loc.getBlockZ();
-
- PlotWorld plotworld = PlotMain.getWorldSettings(loc.getWorld());
- int size = plotworld.PLOT_WIDTH + plotworld.ROAD_WIDTH;
- int pathsize = plotworld.ROAD_WIDTH;
-
- boolean road = false;
- double n3;
-
- int mod2 = 0;
- int mod1 = 1;
-
- int x = (int) Math.ceil((double) valx / size);
- int z = (int) Math.ceil((double) valz / size);
-
- if(pathsize % 2 == 1) {
- n3 = Math.ceil(((double) pathsize) / 2);
- mod2 = -1;
- } else {
- n3 = Math.floor(((double) pathsize) / 2);
- }
-
- for(double i = n3; i >= 0; i--) {
- if((valx - i + mod1) % size == 0 || (valx + i + mod2) % size == 0) {
- road = true;
- x = (int) Math.ceil((valx - n3) / size);
- }
- if((valz - i + mod1) % size == 0 || (valz + i + mod2) % size == 0) {
- road = true;
- z = (int) Math.ceil((valz - n3) / size);
- }
- }
- if(road) {
- return null;
- } else {
- return new PlotId(x,z);
- }
- }
-
- /**
- *
- * @param player
- * @param plot
- */
- public static void togglePlotWeather(Player player, Plot plot) {
- player.setPlayerWeather(plot.settings.getRain() ? WeatherType.DOWNFALL : WeatherType.CLEAR);
- }
-
- /**
- *
- * @param player
- * @param plot
- */
- public static void togglePlotTime(Player player, Plot plot) {
- player.setPlayerTime(plot.settings.getTime(), false);
- }
-
- /**
- *
- * @param player
- * @return
- */
- @SuppressWarnings("deprecation")
- public static Plot getCurrentPlot(Player player) {
- if (!PlotMain.isPlotWorld(player.getWorld()))
- return null;
- PlotId id = getPlot(player.getLocation());
- World world = player.getWorld();
- if(id==null) {
- return null;
- }
- HashMap plots = PlotMain.getPlots(world);
-
- if (plots!=null) {
- if(plots.containsKey(id)) {
- return plots.get(id);
- }
- }
- else {
- }
- return new Plot(id, null, Biome.FOREST, new ArrayList(), new ArrayList(), world.getName());
-
- }
-
- /**
- * @deprecated
- * @param id
- * @param plot
- */
- public static void set(Integer[] id, Plot plot) {
- PlotMain.updatePlot(plot);
- }
-
- /**
- *
- * @param plr
- * @return
- */
-// public static Set getPlayerPlots(Player plr) {
-// return PlotMain.getPlots(plr);
-// }
-//
- public static Set getPlayerPlots(World world, Player plr) {
- Set p = PlotMain.getPlots(world, plr);
- if (p==null)
- return new HashSet();
- return p;
- }
-
- /**
- *
- * @param plr
- * @return
- */
-// public static int getPlayerPlotCount(Player plr) {
-// return getPlayerPlots(plr).size();
-// }
-//
- public static int getPlayerPlotCount(World world, Player plr) {
- return getPlayerPlots(world, plr).size();
- }
-
- /**
- *
- * @param p
- * @return
- */
- @SuppressWarnings("SuspiciousNameCombination")
- public static int getAllowedPlots(Player p) {
- if(p.hasPermission("plots.admin")) return Integer.MAX_VALUE;
- int y = 0;
- for(int x = 1; x <= 100; x++) {
- if(p.hasPermission("plots.plot." + x)) y = x;
- else {
- break;
- }
- }
- return y;
- }
-
- /**
- *
- * @return PlotMain.getPlots();
- * @deprecated
- */
- public static Set getPlots() {
- return PlotMain.getPlots();
- }
-
- /**
- * \\previous\\
- * @param plr
- * @param msg
- * Was used to wrap the chat client length (Packets out--)
- */
- public static void sendMessageWrapped(Player plr, String msg) {
- plr.sendMessage(msg);
- }
-
- /**
- * Send a message to the player
- * @param plr Player to recieve message
- * @param msg Message to send
- */
- public static void sendMessage(Player plr, String msg) {
- if(msg.length() == 0 || msg.equalsIgnoreCase("")) return;
- sendMessageWrapped(plr, ChatColor.translateAlternateColorCodes('&', C.PREFIX.s() + msg));
- }
-
- /**
- * Send a message to the player
- * @param plr Player to recieve message
- * @param c Caption to send
- */
- public static void sendMessage(Player plr, C c, String ... args) {
- if(c.s().length() < 1) return;
- String msg = c.s();
- if(args != null && args.length > 0) {
- for(String str : args)
- msg = msg.replaceFirst("%s", str);
- }
- sendMessage(plr, msg);
- }
-}
diff --git a/src/com/intellectualcrafters/plot/Plot.java b/src/com/intellectualcrafters/plot/Plot.java
deleted file mode 100644
index a13a8e96f..000000000
--- a/src/com/intellectualcrafters/plot/Plot.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Plot.java
- * >> Generated by: Citymonstret at 2014-08-09 01:43
- */
-
-package com.intellectualcrafters.plot;
-
-import com.intellectualcrafters.plot.database.DBFunc;
-
-import org.bukkit.Bukkit;
-import org.bukkit.World;
-import org.bukkit.block.Biome;
-import org.bukkit.entity.Player;
-
-import java.util.ArrayList;
-import java.util.UUID;
-
-/**
- * The plot class
- * @author Citymonstret
- *
- */
-@SuppressWarnings("javadoc")
-public class Plot implements Cloneable{
-
- /**
- * plot ID
- */
- public PlotId id;
- /**
- * plot world
- */
- public String world;
- /**
- * plot owner
- */
- public UUID owner;
- /**
- * Deny Entry
- */
- public boolean deny_entry;
- /**
- * List of helpers (with plot permissions)
- */
- public ArrayList helpers;
- /**
- * List of denied players
- */
- public ArrayList denied;
- /**
- * External settings class
- */
- public PlotSettings settings;
- /**
- * Delete on next save cycle?
- */
- public boolean delete;
- /**
- * Has the plot changed since the last save cycle?
- */
- public boolean hasChanged = false;
-
- /**
- * Primary constructor
- * @param id
- * @param owner
- * @param plotBiome
- * @param helpers
- * @param denied
- */
- public Plot(PlotId id, UUID owner, Biome plotBiome, ArrayList helpers, ArrayList denied, String world) {
- this.id = id;
- this.settings = new PlotSettings(this);
- this.settings.setBiome(plotBiome);
- this.owner = owner;
- this.deny_entry = this.owner == null;
- this.helpers = helpers;
- this.denied = denied;
- this.settings.setTime(8000l);
- this.settings.setRain(false);
- this.settings.setTimeChange(false);
- this.settings.setAlias("");
- this.settings.setPosition(PlotHomePosition.DEFAULT);
- this.delete = false;
- this.world = world;
- }
-
- /**
- * Constructor for saved plots
- * @param id
- * @param owner
- * @param plotBiome
- * @param helpers
- * @param denied
- * @param changeTime
- * @param time
- */
- public Plot(PlotId id, UUID owner, Biome plotBiome, ArrayList helpers, ArrayList denied, boolean changeTime, long time, boolean rain, String alias, PlotHomePosition position, String world) {
- this.id = id;
- this.settings = new PlotSettings(this);
- this.settings.setBiome(plotBiome);
- this.owner = owner;
- this.deny_entry = this.owner != null;
- this.helpers = helpers;
- this.denied = denied;
- this.settings.setTime(time);
- this.settings.setRain(rain);
- this.settings.setTimeChange(changeTime);
- this.settings.setAlias(alias);
- this.settings.setPosition(position);
- this.delete = false;
- this.world = world;
- }
-
- /**
- * Check if the plot has a set owner
- * @return false if there is no owner
- */
- public boolean hasOwner() {
- return this.owner != null;
- }
-
- /**
- * Set the owner
- * @param player
- */
- public void setOwner(Player player) {
- this.owner = player.getUniqueId();
- }
-
- /**
- * Check if the player is either the owner or on the helpers list
- * @param player
- * @return true if the player is added as a helper or is the owner
- */
- public boolean hasRights(Player player) {
- return player.hasPermission("plots.admin") || this.helpers != null && this.helpers.contains(DBFunc.everyone) || this.helpers != null && this.helpers.contains(player.getUniqueId()) || this.owner != null && this.owner.equals(player.getUniqueId());
- }
-
- /**
- * Should the player be allowed to enter?
- * @param player
- * @return false if the player is allowed to enter
- */
- public boolean deny_entry(Player player) {
- return this.denied != null && (this.denied.contains(DBFunc.everyone) && !this.hasRights(player) || !this.hasRights(player) && this.denied.contains(player.getUniqueId()));
- }
-
- /**
- * Get the UUID of the owner
- *
- */
- public UUID getOwner() {
- return this.owner;
- }
-
- /**
- * Get the plot ID
- *
- */
- public PlotId getId() {
- return this.id;
- }
-
-
- /**
- * Get the plot World
- *
- */
- public World getWorld() {
- return Bukkit.getWorld(this.world);
- }
-
- /**
- * Get a clone of the plot
- * @return
- */
- @Override
- public Object clone() throws CloneNotSupportedException {
- try {
- return super.clone();
- } catch(CloneNotSupportedException e) {
- return null;
- }
- }
-
- /**
- * Deny someone (use DBFunc.addDenied() as well)
- * @param uuid
- */
- public void addDenied(UUID uuid) { this.denied.add(uuid); }
-
- /**
- * Add someone as a helper (use DBFunc as well)
- * @param uuid
- */
- public void addHelper(UUID uuid) { this.helpers.add(uuid); }
-
- /**
- * Get plot display name
- * @return alias if set, else id
- */
- public String getDisplayName() {
- if(this.settings.getAlias().length() > 1) {
- return this.settings.getAlias();
- }
- return this.getId().x+";"+this.getId().y;
- }
-
- /**
- * Remove a denied player (use DBFunc as well)
- * @param uuid
- */
- public void removeDenied(UUID uuid) { this.denied.remove(uuid); }
-
- /**
- * Remove a helper (use DBFunc as well)
- * @param uuid
- */
- public void removeHelper(UUID uuid) { this.helpers.remove(uuid); }
-
- /**
- * Clear a plot
- * @param plr initiator
- */
- public void clear(Player plr) {
- PlotHelper.clear(plr, this);
- }
-
- /**
- * Delete a plot
- * @param plr initiator
- */
- @SuppressWarnings("unused")
- public void delete(Player plr) { this.clear(plr); }
-}
diff --git a/src/com/intellectualcrafters/plot/PlotHelper.java b/src/com/intellectualcrafters/plot/PlotHelper.java
deleted file mode 100644
index 8657989fe..000000000
--- a/src/com/intellectualcrafters/plot/PlotHelper.java
+++ /dev/null
@@ -1,757 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = PlotHelper.java
- * >> Generated by: Citymonstret at 2014-08-09 01:43
- */
-
-package com.intellectualcrafters.plot;
-
-import com.intellectualcrafters.plot.database.DBFunc;
-
-import org.bukkit.*;
-import org.bukkit.block.Biome;
-import org.bukkit.block.Block;
-import org.bukkit.block.Sign;
-import org.bukkit.entity.Player;
-
-import java.util.*;
-
-import static com.intellectualcrafters.plot.Settings.*;
-
-/**
- * plot functions
- * @author Citymonstret
- *
- */
-public class PlotHelper {
-
- private static double calculateNeededTime(double blocks, double blocks_per_second) {
- return (blocks / blocks_per_second);
- }
-
- public static Short[] getRandom(Random random, Object[] filling) {
- int len= ((Short[]) filling[0]).length;
- if (len==1) {
- return new Short[] {((Short[]) filling[0])[0],((Short[]) filling[1])[0]};
- }
- int index = random.nextInt(len);
- return new Short[] {((Short[]) filling[0])[index],((Short[]) filling[1])[index]};
- }
-
- public static void removeSign(Player plr, Plot p) {
- PlotWorld plotworld = PlotMain.getWorldSettings(Bukkit.getWorld(p.world));
- Location pl = new Location(plr.getWorld(), getPlotBottomLoc(plr.getWorld(), p.id).getBlockX() , plotworld.ROAD_HEIGHT + 1, getPlotBottomLoc(plr.getWorld(), p.id).getBlockZ());
- Block bs = pl.add(0,0,-1).getBlock();
- bs.setType(Material.AIR);
- }
-
- @SuppressWarnings("deprecation")
- public static void setSign(Player plr, Plot p) {
- PlotWorld plotworld = PlotMain.getWorldSettings(Bukkit.getWorld(p.world));
- Location pl = new Location(plr.getWorld(), getPlotBottomLoc(plr.getWorld(), p.id).getBlockX() , plotworld.ROAD_HEIGHT + 1, getPlotBottomLoc(plr.getWorld(), p.id).getBlockZ());
- Block bs = pl.add(0,0,-1).getBlock();
- bs.setType(Material.AIR);
- bs.setTypeIdAndData(Material.WALL_SIGN.getId(), (byte) 2, false);
- String id = p.id.y+";"+p.id.x;
- Sign sign = (Sign) bs.getState();
- sign.setLine(0, C.OWNER_SIGN_LINE_1.translated().replaceAll("%id%", id));
- sign.setLine(1, C.OWNER_SIGN_LINE_2.translated().replaceAll("%id%", id).replaceAll("%plr%", plr.getName()));
- sign.setLine(2, C.OWNER_SIGN_LINE_3.translated().replaceAll("%id%", id).replaceAll("%plr%", plr.getName()));
- sign.setLine(3, C.OWNER_SIGN_LINE_4.translated().replaceAll("%id%", id).replaceAll("%plr%", plr.getName()));
- sign.update(true);
- }
-
- public static String getPlayerName(UUID uuid) {
- if(uuid == null) return "unknown";
- OfflinePlayer plr = Bukkit.getOfflinePlayer(uuid);
- if(plr == null) return "unknown";
- return plr.getName();
- }
-
- public static String getStringSized(int max, String string) {
- if(string.length() > max) return string.substring(0,max);
- return string;
- }
-
- public static void adjustWall(World w, Plot plot, short id, byte data) {
-
- PlotWorld plotworld = PlotMain.getWorldSettings(Bukkit.getWorld(plot.world));
-
- List wallIds = new ArrayList();
-
- wallIds.add("" + id + ":" + data);
-
- Location bottom = getPlotBottomLoc(w, plot.id);
- Location top = getPlotTopLoc(w, plot.id);
-
- int x, z;
-
- Block block;
-
- for (x = bottom.getBlockX(); x < top.getBlockX() + 1; x++) {
- z = bottom.getBlockZ();
-
- block = w.getBlockAt(x, plotworld.ROAD_HEIGHT + 1, z);
- setWall(block, "" + id + ":" + data);
- }
-
- for (z = bottom.getBlockZ(); z < top.getBlockZ() + 1; z++) {
- x = top.getBlockX() + 1;
-
- block = w.getBlockAt(x, plotworld.ROAD_HEIGHT + 1, z);
- setWall(block, "" + id + ":" + data);
- }
-
- for (x = top.getBlockX() + 1; x > bottom.getBlockX() - 1; x--) {
- z = top.getBlockZ() + 1;
-
- block = w.getBlockAt(x, plotworld.ROAD_HEIGHT + 1, z);
- setWall(block, "" + id + ":" + data);
- }
-
- for (z = top.getBlockZ() + 1; z > bottom.getBlockZ() - 1; z--) {
- x = bottom.getBlockX();
- block = w.getBlockAt(x, plotworld.ROAD_HEIGHT + 1, z);
- setWall(block, "" + id + ":" + data);
- }
- }
-
- public static boolean createPlot(Player player, Plot plot) {
- @SuppressWarnings("deprecation")
- World w = plot.getWorld();
- Plot p = new Plot(plot.id, player.getUniqueId(), plot.settings.getBiome(), null, null, w.getName());
- PlotMain.updatePlot(p);
- DBFunc.createPlot(p);
- DBFunc.createPlotSettings(DBFunc.getId(w.getName(),p.id), p);
- return true;
- }
-
- public static int getLoadedChunks(World world) {
- return world.getLoadedChunks().length;
- }
-
- public static int getEntities(World world) {
- return world.getEntities().size();
- }
-
- public static int getTileEntities(World world) {
- PlotWorld plotworld = PlotMain.getWorldSettings(world);
- int x = 0;
- for(Chunk chunk : world.getLoadedChunks()) {
- x += chunk.getTileEntities().length;
- }
- return x;
- }
-
- public static double getWorldFolderSize(){
- //long size = FileUtils.sizeOfDirectory(Bukkit.getWorld(Settings.PLOT_WORLD).getWorldFolder());
- long size = 10;
- return (((size) / 1024) / 1024);
- }
-
-// public static void adjustLinkedPlots(String id) {
-// World world = Bukkit.getWorld(Settings.PLOT_WORLD);
-// int x = getIdX(id);
-// int z = getIdZ(id);
-//
-// plot p11 = getPlot(id);
-// if (p11 != null) {
-// plot p01, p10, p12, p21, p00, p02, p20, p22;
-// p01 = getPlot(x - 1, z);
-// p10 = getPlot(x, z - 1);
-// p12 = getPlot(x, z + 1);
-// p21 = getPlot(x + 1, z);
-// p00 = getPlot(x - 1, z - 1);
-// p02 = getPlot(x - 1, z + 1);
-// p20 = getPlot(x + 1, z - 1);
-// p22 = getPlot(x + 1, z + 1);
-// if (p01 != null && p01.owner.equals(p11.owner)) {
-// fillroad(p01, p11, world);
-// }
-//
-// if (p10 != null && p10.owner.equals(p11.owner)) {
-// fillroad(p10, p11, world);
-// }
-//
-// if (p12 != null && p12.owner.equals(p11.owner)) {
-// fillroad(p12, p11, world);
-// }
-//
-// if (p21 != null && p21.owner.equals(p11.owner)) {
-// fillroad(p21, p11, world);
-// }
-//
-// if (p00 != null && p10 != null && p01 != null
-// && p00.owner.equals(p11.owner)
-// && p11.owner.equals(p10.owner)
-// && p10.owner.equals(p01.owner)) {
-// fillmiddleroad(p00, p11, world);
-// }
-//
-// if (p10 != null && p20 != null && p21 != null
-// && p10.owner.equals(p11.owner)
-// && p11.owner.equals(p20.owner)
-// && p20.owner.equals(p21.owner)) {
-// fillmiddleroad(p20, p11, world);
-// }
-//
-// if (p01 != null && p02 != null && p12 != null
-// && p01.owner.equals(p11.owner)
-// && p11.owner.equals(p02.owner)
-// && p02.owner.equals(p12.owner)) {
-// fillmiddleroad(p02, p11, world);
-// }
-//
-// if (p12 != null && p21 != null && p22 != null
-// && p12.owner.equals(p11.owner)
-// && p11.owner.equals(p21.owner)
-// && p21.owner.equals(p22.owner)) {
-// fillmiddleroad(p22, p11, world);
-// }
-// }
-// }
-//
-// public static void fillroad(plot plot1, plot plot2, World w) {
-// Location bottomPlot1, topPlot1, bottomPlot2, topPlot2;
-// bottomPlot1 = getPlotBottomLoc(w, plot1.id);
-// topPlot1 = getPlotTopLoc(w, plot1.id);
-// bottomPlot2 = getPlotBottomLoc(w, plot2.id);
-// topPlot2 = getPlotTopLoc(w, plot2.id);
-//
-// int minX, maxX, minZ, maxZ;
-//
-// boolean isWallX;
-//
-// int h = Settings.ROAD_HEIGHT;
-// int wallId = Settings.WALL_BLOCK;
-// int fillId = Settings.TOP_BLOCK;
-//
-// if(bottomPlot1.getBlockX() == bottomPlot2.getBlockX()) {
-// minX = bottomPlot1.getBlockX();
-// maxX = topPlot1.getBlockX();
-//
-// minZ = Math.min(bottomPlot1.getBlockZ(), bottomPlot2.getBlockZ()) + Settings.PLOT_WIDTH;
-// maxZ = Math.min(topPlot1.getBlockZ(), topPlot2.getBlockZ()) - Settings.PLOT_WIDTH;
-// } else {
-// minZ = bottomPlot1.getBlockZ();
-// maxZ = topPlot1.getBlockZ();
-//
-// minX = Math.min(bottomPlot1.getBlockX(), bottomPlot2.getBlockX()) + Settings.PLOT_WIDTH;
-// maxX = Math.max(topPlot1.getBlockX(), topPlot2.getBlockX()) - Settings.PLOT_WIDTH;
-// }
-//
-// isWallX = (maxX - minX) > (maxZ - minZ);
-//
-// if(isWallX) {
-// minX--;
-// maxX++;
-// } else {
-// minZ--;
-// maxZ++;
-// }
-//
-// for(int x = minX; x <= maxX; x++) {
-// for(int z = minZ; x <= maxZ; z++) {
-// for(int y = h; y < h + 3; y++) {
-// if(y >= (h + 2)) {
-// w.getBlockAt(x,y,z).setType(Material.AIR);
-// } else if(y == (h + 1)) {
-// if(isWallX && (x == minX || x == maxX)) {
-// w.getBlockAt(x,y,z).setTypeIdAndData(wallId, (byte) 0, true);
-// } else if(!isWallX && (z == minZ || z == maxZ)) {
-// w.getBlockAt(x,y,z).setTypeIdAndData(wallId, (byte) 0, true);
-// } else {
-// w.getBlockAt(x,y,z).setType(Material.AIR);
-// }
-// } else {
-// w.getBlockAt(x,y,z).setTypeIdAndData(fillId, (byte) 0, true);
-// }
-// }
-// }
-// }
-// }
-//
-// public static void fillmiddleroad(plot p1, plot p2, World w) {
-// Location b1 = getPlotBottomLoc(w, p1.id);
-// Location t1 = getPlotTopLoc(w, p1.id);
-// Location b2 = getPlotBottomLoc(w, p2.id);
-// Location t2 = getPlotTopLoc(w, p2.id);
-//
-// int minX, maxX, minZ, maxZ;
-//
-// int h = Settings.ROAD_HEIGHT;
-// int fillID = Settings.TOP_BLOCK;
-//
-// minX = Math.min(t1.getBlockX(), t2.getBlockX());
-// maxX = Math.max(b1.getBlockX(), b2.getBlockX());
-//
-// minZ = Math.min(t1.getBlockZ(), t2.getBlockZ());
-// maxZ = Math.max(b1.getBlockZ(), b2.getBlockZ());
-//
-// for(int x = minX; x <= maxX; x++) {
-// for(int z = minZ; z <= maxZ; z++) {
-// for(int y = h; y < h + 3; y++) {
-// if(y >= (h + 1)) {
-// w.getBlockAt(x,y,z).setType(Material.AIR);
-// } else {
-// w.getBlockAt(x,y,z).setTypeId(fillID);
-// }
-// }
-// }
-// }
-// }
-
- public static String createId(int x, int z) {
- return x + ";" + z;
- }
-
- public static ArrayList runners_p = new ArrayList();
- public static HashMap runners = new HashMap();
-
- public static void adjustWallFilling(final Player requester, final World w, final Plot plot,
- final short id, final byte data) {
- if(runners.containsKey(plot)) {
- PlayerFunctions.sendMessage(requester, C.WAIT_FOR_TIMER);
- return;
- }
- PlayerFunctions.sendMessage(requester, C.GENERATING_WALL_FILLING);
- final PlotWorld plotworld = PlotMain.getWorldSettings(w);
- runners.put(
- plot,
- Bukkit.getScheduler().scheduleSyncRepeatingTask(PlotMain.getMain(),
- new Runnable() {
- Location bottom = getPlotBottomLoc(w, plot.id);
- Location top = getPlotTopLoc(w, plot.id);
- int y = plotworld.ROAD_HEIGHT;
- int x, z;
-
- @Override
- public void run() {
- for (x = bottom.getBlockX(); x < top
- .getBlockX() + 1; x++) {
- z = bottom.getBlockZ();
- setWall(w.getBlockAt(x, y, z), "" + id
- + ":" + data);
- }
-
- for (z = bottom.getBlockZ(); z < top
- .getBlockZ() + 1; z++) {
- x = top.getBlockX() + 1;
- setWall(w.getBlockAt(x, y, z), "" + id
- + ":" + data);
- }
-
- for (x = top.getBlockX() + 1; x > bottom
- .getBlockX() - 1; x--) {
- z = top.getBlockZ() + 1;
- setWall(w.getBlockAt(x, y, z), "" + id
- + ":" + data);
- }
-
- for (z = top.getBlockZ() + 1; z > bottom
- .getBlockZ() - 1; z--) {
- x = bottom.getBlockX();
- setWall(w.getBlockAt(x, y, z), "" + id
- + ":" + data);
- }
-
- y--;
- if (y < 1) {
- int runner = runners.get(plot);
- runners.remove(plot);
- PlayerFunctions.sendMessage(requester, C.SET_BLOCK_ACTION_FINISHED);
- Bukkit.getScheduler().cancelTask(runner);
- }
- }
- }, 0l, 5l));
- }
-
- public static void setFloor(final Player requester, final Plot plot, final Material material[], final byte data[]) {
- final PlotWorld plotworld = PlotMain.getWorldSettings(Bukkit.getWorld(plot.world));
- if(runners.containsKey(plot)) {
- PlayerFunctions.sendMessage(requester, C.WAIT_FOR_TIMER);
- return;
- }
- String time = RUtils.formatTime(calculateNeededTime(square(plotworld.PLOT_WIDTH), 2 * plotworld.PLOT_WIDTH));
- String send = C.GENERATING_FLOOR.s().replaceAll("%time%", time);
- PlayerFunctions.sendMessage(requester, send);
- runners.put(plot, Bukkit.getScheduler().scheduleSyncRepeatingTask(PlotMain.getMain(), new Runnable() {
- World world = Bukkit.getWorld(plot.world);
- int x1 = getPlotBottomLoc(world, plot.id).getBlockX();
- int x2 = x1 + plotworld.PLOT_WIDTH;
- int z1 = getPlotBottomLoc(world, plot.id).getBlockZ();
- int z2 = z1 + plotworld.PLOT_WIDTH;
-
- int xMin = Math.min(x1, x2) + 1;
- int xMax = Math.max(x1, x2);
-
- int zMin = Math.min(z1, z2) + 1;
- int zMax = Math.max(z1, z2);
- Random random = new Random();
- int x = xMin;
- @SuppressWarnings("deprecation")
- @Override
- public void run() {
- for(int z = zMin; z <= zMax; z++) {
- int y = plotworld.PLOT_HEIGHT;
- byte d;
- short id;
- if(material.length > 1) {
- int index = random.nextInt(material.length);
- d = data[index];
- id = (short) material[index].getId();
- } else {
- d = data[0];
- id = (short)material[0].getId();
- }
- world.getBlockAt(x, y, z).setTypeIdAndData(id,d, true);
- }
- x++;
- if(x > xMax) {
- int runner = runners.get(plot);
- runners.remove(plot);
- PlayerFunctions.sendMessage(requester, C.SET_BLOCK_ACTION_FINISHED);
- Bukkit.getScheduler().cancelTask(runner);
- }
- }
-
- },0l, 10l));
- }
-
-
- public static int square(int x) {
- return x * x;
- }
-
- public static int getPlotSize(World world) {
- PlotWorld plotworld = PlotMain.getWorldSettings(world);
- return (square(plotworld.PLOT_WIDTH)) * (world.getMaxHeight());
- }
- public static Short[] getBlock(String block) {
- if (block.contains(":")) {
- String[] split = block.split(":");
- return new Short[] {Short.parseShort(split[0]),Short.parseShort(split[1])};
- }
- return new Short[] {Short.parseShort(block),0};
- }
-
- public static void clear(final Player requester, final Plot plot) {
- PlotWorld plotworld = PlotMain.getWorldSettings(Bukkit.getWorld(plot.world));
- long start = System.currentTimeMillis();
- PlotHelper.setBiome(requester.getWorld(), plot, Biome.FOREST);
- PlotHelper.removeSign(requester, plot);
- PlayerFunctions.sendMessage(requester, C.CLEARING_PLOT);
- World world = requester.getWorld();
- Location pos1 = getPlotBottomLoc(world, plot.id);
- Location pos2 = getPlotTopLoc(world, plot.id);
- SetBlockFast setBlockClass = null;
-
- Short[] plotfloors = new Short[plotworld.TOP_BLOCK.length];
- Short[] plotfloors_data = new Short[plotworld.TOP_BLOCK.length];
-
- Short[] filling = new Short[plotworld.MAIN_BLOCK.length];
- Short[] filling_data = new Short[plotworld.MAIN_BLOCK.length];
-
- for (int i = 0; i < plotworld.TOP_BLOCK.length; i++) {
- Short[] result = getBlock(plotworld.TOP_BLOCK[i]);
- plotfloors[i] = result[0];
- plotfloors_data[i] = result[1];
- }
- for (int i = 0; i < plotworld.MAIN_BLOCK.length; i++) {
- Short[] result = getBlock(plotworld.MAIN_BLOCK[i]);
- filling[i] = result[0];
- filling_data[i] = result[1];
- }
- try {
- setBlockClass = new SetBlockFast();
- regenerateCuboid(pos1, pos2,requester,plotworld, new Object[] {plotfloors,plotfloors_data}, new Object[] {filling, filling_data});
- }
- catch (NoClassDefFoundError e) {
- PlotMain.sendConsoleSenderMessage(C.PREFIX.s() + "&cFast plot clearing is currently not enabled.");
- PlotMain.sendConsoleSenderMessage(C.PREFIX.s() + "&c - Please get PlotSquared for "+Bukkit.getVersion()+" for improved performance");
- }
- if (pos2.getBlockX()-pos1.getBlockX()<16) {
- regenerateCuboid(pos1, pos2,requester,plotworld, new Object[] {plotfloors,plotfloors_data}, new Object[] {filling, filling_data});
- return;
- }
- int startX = (pos1.getBlockX()/16)*16;
- int startZ = (pos1.getBlockZ()/16)*16;
- int chunkX = 16+pos2.getBlockX();
- int chunkZ = 16+pos2.getBlockZ();
- int plotMinX = getPlotBottomLoc(world,plot.id).getBlockX()+1;
- int plotMinZ = getPlotBottomLoc(world,plot.id).getBlockZ()+1;
- int plotMaxX = getPlotTopLoc(world,plot.id).getBlockX();
- int plotMaxZ = getPlotTopLoc(world,plot.id).getBlockZ();
- Location min = null;
- Location max = null;
- for (int i = startX; i plotworld.PLOT_HEIGHT && y < world.getMaxHeight()) {
- if(type != 0)
- id = 0;
- else
- change = false;
- }
- else {
- change = false;
- }
- if(change) {
- if (type!=id) {
- block.setTypeIdAndData(id, (byte) d, true);
- }
- }
- }
- }
- }
- }
-
- public static void setBiome(World world, Plot plot, Biome b) {
- int bottomX = getPlotBottomLoc(world, plot.id).getBlockX() - 1;
- int topX = getPlotTopLoc(world, plot.id).getBlockX() + 1;
- int bottomZ = getPlotBottomLoc(world, plot.id).getBlockZ() - 1;
- int topZ = getPlotTopLoc(world, plot.id).getBlockZ() + 1;
-
- for (int x = bottomX; x <= topX; x++) {
- for (int z = bottomZ; z <= topZ; z++) {
- world.getBlockAt(x, 0, z).setBiome(b);
- }
- }
-
- plot.settings.setBiome(b);
- PlotMain.updatePlot(plot);
- refreshPlotChunks(world, plot);
- }
-
- public static Location getPlotHome(World w, Plot plot) {
- PlotWorld plotworld = PlotMain.getWorldSettings(w);
- if(plot.settings.getPosition() == PlotHomePosition.DEFAULT) {
- int x = getPlotBottomLoc(w, plot.id).getBlockX()
- + (getPlotTopLoc(w, plot.id).getBlockX() - getPlotBottomLoc(w,
- plot.id).getBlockX());
- int z = getPlotBottomLoc(w, plot.id).getBlockZ() - 2;
- return new Location(w, x, plotworld.ROAD_HEIGHT + 2, z);
- } else {
- World world = w;
- int x1 = getPlotBottomLoc(world, plot.id).getBlockX();
- int x2 = x1 + plotworld.PLOT_WIDTH;
- int z1 = getPlotBottomLoc(world, plot.id).getBlockZ();
- int z2 = z1 + plotworld.PLOT_WIDTH;
-
- int xMin = Math.min(x1, x2) + 1;
-// int xMax = Math.max(x1, x2);
-
- int zMin = Math.min(z1, z2) + 1;
-// int zMax = Math.max(z1, z2);
-
- double adder = (plotworld.PLOT_WIDTH / 2);
- double x = (xMin + adder), y = plotworld.ROAD_HEIGHT + 3, z = (zMin + adder);
- return new Location(world, x, y, z);
- }
- }
-
- public static Location getPlotHome(World w, PlotId id) {
- PlotWorld plotworld = PlotMain.getWorldSettings(w);
- if(getPlot(w,id).settings.getPosition() == PlotHomePosition.DEFAULT) {
- int x = getPlotBottomLoc(w, id).getBlockX()
- + (getPlotTopLoc(w, id).getBlockX() - getPlotBottomLoc(w, id)
- .getBlockX());
- int z = getPlotBottomLoc(w, id).getBlockZ() - 2;
- return new Location(w, x, plotworld.ROAD_HEIGHT + 2, z);
- } else {
- World world = w;
- int x1 = getPlotBottomLoc(world, id).getBlockX();
- int x2 = x1 + plotworld.PLOT_WIDTH;
- int z1 = getPlotBottomLoc(world, id).getBlockZ();
- int z2 = z1 + plotworld.PLOT_WIDTH;
-
- int xMin = Math.min(x1, x2) + 1;
- int xMax = Math.max(x1, x2);
-
- int zMin = Math.min(z1, z2) + 1;
- int zMax = Math.max(z1, z2);
-
- double adder = (plotworld.PLOT_WIDTH / 2);
- double x = (xMin + adder), y = plotworld.ROAD_HEIGHT + 3, z = (zMin + adder);
- return new Location(world, x, y, z);
- }
- }
-
- public static void refreshPlotChunks(World world, Plot plot) {
- int bottomX = getPlotBottomLoc(world, plot.id).getBlockX();
- int topX = getPlotTopLoc(world, plot.id).getBlockX();
- int bottomZ = getPlotBottomLoc(world, plot.id).getBlockZ();
- int topZ = getPlotTopLoc(world, plot.id).getBlockZ();
-
- int minChunkX = (int) Math.floor((double) bottomX / 16);
- int maxChunkX = (int) Math.floor((double) topX / 16);
- int minChunkZ = (int) Math.floor((double) bottomZ / 16);
- int maxChunkZ = (int) Math.floor((double) topZ / 16);
-
- for (int x = minChunkX; x <= maxChunkX; x++) {
- for (int z = minChunkZ; z <= maxChunkZ; z++) {
- world.refreshChunk(x, z);
- }
- }
- }
-
- public static Location getPlotTopLoc(World world, PlotId id) {
- PlotWorld plotworld = PlotMain.getWorldSettings(world);
- int px = id.x;
- int pz = id.y;
-
- int x = px * (plotworld.ROAD_WIDTH + plotworld.PLOT_WIDTH)
- - ((int) Math.floor(plotworld.ROAD_WIDTH / 2)) - 1;
- int z = pz * (plotworld.ROAD_WIDTH + plotworld.PLOT_WIDTH)
- - ((int) Math.floor(plotworld.ROAD_WIDTH / 2)) - 1;
-
- return new Location(world, x, 255, z);
- }
-
- public static Location getPlotBottomLoc(World world, PlotId id) {
- PlotWorld plotworld = PlotMain.getWorldSettings(world);
- int px = id.x;
- int pz = id.y;
-
- int x = px * (plotworld.ROAD_WIDTH + plotworld.PLOT_WIDTH) - plotworld.PLOT_WIDTH
- - ((int) Math.floor(plotworld.ROAD_WIDTH / 2)) - 1;
- int z = pz * (plotworld.ROAD_WIDTH + plotworld.PLOT_WIDTH) - plotworld.PLOT_WIDTH
- - ((int) Math.floor(plotworld.ROAD_WIDTH / 2)) - 1;
-
- return new Location(world, x, 1, z);
- }
-
- public static Plot getPlot(World world, PlotId id) {
- if (id == null) {
- return null;
- }
- if (PlotMain.getPlots(world).containsKey(id)) {
- return PlotMain.getPlots(world).get(id);
- }
- return new Plot(id, null, Biome.FOREST, new ArrayList(), new ArrayList(), world.getName());
- }
-
- public static Plot getCurrentPlot(Location loc) {
- /*
- * Vector vector = player.getLocation().toVector(); for(plot plot :
- * getPlots()) if(vector.isInAABB(plot.l1.toVector(),
- * plot.l2.toVector())) return plot; return null;
- */
- PlotId id = PlayerFunctions.getPlot(loc);
- if (id.equals("...") || id.equals("road")) {
- return null;
- }
- if (PlotMain.getPlots(loc.getWorld()).containsKey(id)) {
- return PlotMain.getPlots(loc.getWorld()).get(id);
- }
- return new Plot(id, null, Biome.FOREST, new ArrayList(), new ArrayList(), loc.getWorld().getName());
- }
-
- @SuppressWarnings({ "deprecation" })
- private static void setWall(Block block, String currentBlockId) {
- int blockId;
- byte blockData = 0;
- if (currentBlockId.contains(":")) {
- try {
- blockId = Integer.parseInt(currentBlockId.substring(0,
- currentBlockId.indexOf(":")));
- blockData = Byte.parseByte(currentBlockId
- .substring(currentBlockId.indexOf(":") + 1));
- } catch (NumberFormatException e) {
- blockId = 1;
- blockData = (byte) 0;
- e.printStackTrace();
- }
- } else {
- try {
- blockId = Integer.parseInt(currentBlockId);
- } catch (NumberFormatException e) {
- blockId = 1;
- blockData = (byte) 0;
- e.printStackTrace();
- }
- }
- block.setTypeIdAndData(blockId, blockData, true);
- }
-}
diff --git a/src/com/intellectualcrafters/plot/PlotHomePosition.java b/src/com/intellectualcrafters/plot/PlotHomePosition.java
deleted file mode 100644
index ac235c66c..000000000
--- a/src/com/intellectualcrafters/plot/PlotHomePosition.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = PlotHomePosition.java
- * >> Generated by: Citymonstret at 2014-08-09 01:44
- */
-
-package com.intellectualcrafters.plot;
-
-/**
- * Created by Citymonstret on 2014-08-05.
- */
-public enum PlotHomePosition {
- CENTER("Center", 'c'),
- DEFAULT("Default", 'd')
- ;
-
- private String string;
- private char ch;
- PlotHomePosition(String string, char ch) {
- this.string = string;
- this.ch = ch;
- }
-
- public boolean isMatching(String string) {
- if(string.length() < 2 && string.charAt(0) == this.ch) return true;
- if(string.equalsIgnoreCase(this.string)) return true;
- return false;
- }
-
-}
diff --git a/src/com/intellectualcrafters/plot/PlotId.java b/src/com/intellectualcrafters/plot/PlotId.java
deleted file mode 100644
index d6349e4b3..000000000
--- a/src/com/intellectualcrafters/plot/PlotId.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.intellectualcrafters.plot;
-import java.util.Arrays;
-
-
-public class PlotId {
- public int x;
- public int y;
- public PlotId(int x, int y) {
- this.x = x;
- this.y = y;
- }
- @Override
- public boolean equals(Object obj){
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- PlotId other = (PlotId) obj;
- return (this.x==other.x && this.y==other.y);
- }
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + x;
- result = prime * result + y;
- return result;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/PlotMain.java b/src/com/intellectualcrafters/plot/PlotMain.java
deleted file mode 100644
index 36d80a3a3..000000000
--- a/src/com/intellectualcrafters/plot/PlotMain.java
+++ /dev/null
@@ -1,740 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Main.java
- * >> Generated by: Citymonstret at 2014-08-09 01:43
- */
-
-package com.intellectualcrafters.plot;
-
-import ca.mera.CameraAPI;
-
-import com.intellectualcrafters.plot.commands.Camera;
-import com.intellectualcrafters.plot.database.*;
-import com.intellectualcrafters.plot.Logger.LogLevel;
-import com.intellectualcrafters.plot.Settings.Web;
-import com.intellectualcrafters.plot.commands.MainCommand;
-import com.intellectualcrafters.plot.events.PlayerTeleportToPlotEvent;
-import com.intellectualcrafters.plot.listeners.PlayerEvents;
-import com.intellectualcrafters.plot.listeners.WorldEditListener;
-import com.intellectualsites.web.PlotWeb;
-import com.sk89q.worldedit.bukkit.WorldEditPlugin;
-
-import me.confuser.barapi.BarAPI;
-import net.gravitydevelopment.updater.Updater;
-
-import org.bukkit.*;
-import org.bukkit.configuration.file.YamlConfiguration;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.Player;
-import org.bukkit.generator.ChunkGenerator;
-import org.bukkit.plugin.java.JavaPlugin;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-import java.util.UUID;
-
-import static org.bukkit.Material.*;
-
-/**
- * @awesome @author Empire92
- * @author Citymonstret
- * PlotMain class.
- */
-public class PlotMain extends JavaPlugin {
-
- /**
- * settings.properties
- */
- public static File configFile;
- public static YamlConfiguration config;
- private static int config_ver = 1;
- /**
- * storage.properties
- */
- public static File storageFile;
- public static YamlConfiguration storage;
- public static int storage_ver = 1;
- /**
- * translations.properties
- */
- public static File translationsFile;
- public static YamlConfiguration translations;
- public static int translations_ver = 1;
- /**
- * MySQL Object
- */
- private static MySQL mySQL;
- /**
- * MySQL Connection
- */
- public static Connection connection;
- /**
- * WorldEdit object
- */
- public static WorldEditPlugin worldEdit = null;
- /**
- * BarAPI object
- */
- public static BarAPI barAPI = null;
- /**
- * CameraAPI object
- */
- public static CameraAPI cameraAPI;
-
- /**
- * !!WorldGeneration!!
- */
- @Override
- public ChunkGenerator getDefaultWorldGenerator(String worldname, String id) {
- return new WorldGenerator(worldname);
- }
-
- /**
- * TODO: Implement better system
- *
- */
- @SuppressWarnings("deprecation")
- public static void checkForExpiredPlots() {
- final JavaPlugin plugin = PlotMain.getMain();
- Bukkit.getScheduler().scheduleAsyncRepeatingTask(plugin,
- new Runnable() {
- @Override
- public void run() {
- checkExpired(plugin, true);
- }
- }, 0l, 12 * 60 * 60 * 20l);
- }
-
- /**
- * All loaded plots
- */
- private static HashMap> plots;
- /**
- * All loaded plot worlds
- */
- private static HashMap worlds = new HashMap();
-
- /**
- * Get all plots
- *
- * @return HashMap containing the plot ID and the plot object.
- */
- public static Set getPlots() {
- ArrayList myplots = new ArrayList();
- for (HashMap world:plots.values()) {
- myplots.addAll(world.values());
- }
- return new HashSet(myplots);
- }
-
- public static Set getPlots(Player player) {
- UUID uuid = player.getUniqueId();
- ArrayList myplots = new ArrayList();
- for (HashMap world:plots.values()) {
- for (Plot plot:world.values()) {
- if (plot.getOwner().equals(uuid)) {
- myplots.add(plot);
- }
- }
- }
- return new HashSet(myplots);
- }
- public static Set getPlots(World world, Player player) {
- UUID uuid = player.getUniqueId();
- ArrayList myplots = new ArrayList();
- for (Plot plot:getPlots(world).values()) {
- if (plot.getOwner().equals(uuid)) {
- myplots.add(plot);
- }
- }
- return new HashSet(myplots);
- }
-
- public static HashMap getPlots(World world) {
- if (plots.containsKey(world.getName())) {
- return plots.get(world.getName());
- }
- return new HashMap();
- }
- /**
- * get all plot worlds
- */
- public static World[] getPlotWorlds() {
- return (worlds.keySet().toArray(new World[0]));
- }
- public static String[] getPlotWorldsString() {
- return plots.keySet().toArray(new String[0]);
- }
- public static boolean isPlotWorld(World world) {
- return (worlds.containsKey(world.getName()));
- }
- public static PlotWorld getWorldSettings(World world) {
- if (worlds.containsKey(world.getName()))
- return worlds.get(world.getName());
- return null;
- }
- public static PlotWorld getWorldSettings(String world) {
- if (worlds.containsKey(world))
- return worlds.get(world);
- return null;
- }
- /**
- *
- * @param world
- * @return set containing the plots for a world
- */
- public static Plot[] getWorldPlots(World world) {
- return (Plot[])(plots.get(world.getName()).values().toArray(new Plot[0]));
- }
-
- public static void removePlot(String world, PlotId id) {
- plots.get(world).remove(id);
- }
- /**
- * Replace the plot object with an updated version
- *
- * @param id plot Id
- * @param plot plot object
- */
- public static void updatePlot(Plot plot) {
- String world = plot.world;
- if (!plots.containsKey(world))
- plots.put(world,new HashMap());
- plot.hasChanged = true;
- plots.get(world).put(plot.id, plot);
- }
-
- /**
- * TODO: Implement better system
- *
- * @param plugin Plugin
- * @param async Call async?
- */
- private static void checkExpired(JavaPlugin plugin, boolean async) {
- if (async) {
- Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
- @Override
- public void run() {
- for (String world:getPlotWorldsString()) {
- if (plots.containsKey(world)) {
- for (Plot plot : plots.get(world).values()) {
- if (plot.owner == null) {
- continue;
- }
- if (PlayerFunctions.hasExpired(plot)) {
- DBFunc.delete(world, plot);
- }
- }
- }
- }
- }
- });
- } else {
- for (String world:getPlotWorldsString()) {
- if (PlotMain.plots.containsKey(world)) {
- for (Plot plot : PlotMain.plots.get(world).values()) {
- if (PlayerFunctions.hasExpired(plot)) {
- DBFunc.delete(world, plot);
- }
- }
- }
- }
- }
- }
-
- /**
- * On Load.
- * TODO: Load updates async
- */
- @Override
- @SuppressWarnings("deprecation")
- public void onEnable() {
- {
- File log = new File(getMain().getDataFolder() + File.separator + "logs" + File.separator + "plots.log");
- if (!log.exists()) {
- try {
- if (!new File(getMain().getDataFolder() + File.separator + "logs").mkdirs()) {
- sendConsoleSenderMessage(C.PREFIX.s() + "&cFailed to create logs folder. Do it manually.");
- }
- if (log.createNewFile()) {
- FileWriter writer = new FileWriter(log);
- writer.write("Created at: " + new Date().toString() + "\n\n\n");
- writer.close();
- }
- } catch (IOException e) {
-
- e.printStackTrace();
- }
- }
- Logger.setup(log);
- Logger.add(LogLevel.GENERAL, "Logger enabled");
- }
- configs();
-
- // 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)
- killAllEntities();
-
- if (C.ENABLED.s().length() > 0) {
- Broadcast(C.ENABLED);
- }
- if (Settings.Update.AUTO_UPDATE) {
- Updater updater = new Updater(this, 83369, this.getFile(), Updater.UpdateType.DEFAULT, true);
- switch (updater.getResult()) {
- case SUCCESS:
- sendConsoleSenderMessage(C.PREFIX.s() + "&cUpdate " + updater.getLatestName() + " installed successfully. Restart the server to load it.");
- break;
- case FAIL_DOWNLOAD:
- sendConsoleSenderMessage(C.PREFIX.s() + "&cUpdate could not be installed.");
- break;
- case UPDATE_AVAILABLE:
- sendConsoleSenderMessage(C.PREFIX.s() + ChatColor.GREEN + "There is an available update.");
- break;
- default:
- sendConsoleSenderMessage(C.PREFIX.s() + ChatColor.GREEN + "You're using the latest update.");
- break;
- }
- }
- if (Settings.DB.USE_MYSQL) {
- try {
- mySQL = new MySQL(this, Settings.DB.HOST_NAME, Settings.DB.PORT,
- Settings.DB.DATABASE, Settings.DB.USER,
- Settings.DB.PASSWORD);
- connection = mySQL.openConnection();
- {
- DatabaseMetaData meta = connection.getMetaData();
- ResultSet res = meta.getTables(null, null, "plot", null);
- if(!res.next())
- DBFunc.createTables();
- }
- } catch (ClassNotFoundException | SQLException e) {
- Logger.add(LogLevel.DANGER, "MySQL connection failed.");
- System.out.print("\u001B[31m[Plots] MySQL is not setup correctly. The plugin will disable itself.\u001B[0m");
- System.out.print("\u001B[36m==== Here is an ugly stacktrace if you are interested in those things ====\u001B[0m");
- e.printStackTrace();
- Bukkit.getPluginManager().disablePlugin(this);
- return;
- }
- plots = DBFunc.getPlots();
-
- } else if (Settings.DB.USE_MONGO) {
- sendConsoleSenderMessage(C.PREFIX.s() + "MongoDB is not yet implemented");
- } else {
- Logger.add(LogLevel.DANGER, "No storage type is set.");
- sendConsoleSenderMessage(C.PREFIX + "&cNo storage type is set!");
- getServer().getPluginManager().disablePlugin(this);
- return;
- }
- if (getServer().getPluginManager().getPlugin("PlotMe") != null ) {
- try {
- new PlotMeConverter(this).runAsync();
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
- getCommand("plots").setExecutor(new MainCommand());
- getCommand("plots").setAliases(
- new ArrayList() {
- {
- add("p");
- add("plotme");
- add("plot");
- }
- });
- getServer().getPluginManager().registerEvents(new PlayerEvents(), this);
-
- if (getServer().getPluginManager().getPlugin("CameraAPI") != null ){
- cameraAPI = CameraAPI.getInstance();
- Camera camera = new Camera();
- MainCommand.subCommands.add(camera);
- getServer().getPluginManager().registerEvents(camera, this);
- }
- if (getServer().getPluginManager().getPlugin("BarAPI") != null) {
- barAPI = (BarAPI) getServer().getPluginManager().getPlugin("BarAPI");
- }
- if (getServer().getPluginManager().getPlugin("WorldEdit") != null) {
- worldEdit = (WorldEditPlugin) getServer().getPluginManager()
- .getPlugin("WorldEdit");
- getServer().getPluginManager().registerEvents(
- new WorldEditListener(), this);
- }
- checkExpired(PlotMain.getMain(), true);
- checkForExpiredPlots();
-
- getServer().getScheduler().scheduleSyncRepeatingTask(this, new Lag(),
- 100L, 1L);
- if(Web.ENABLED) {
- try {
- PlotWeb web = new PlotWeb("PlotWeb", Web.PORT);
- web.start();
- sendConsoleSenderMessage("Web Server running on port " + Web.PORT);
- } catch(Exception e) {
- sendConsoleSenderMessage("Failed to start web server.");
- }
- }
- }
-
- /**
- * Get MySQL Connection
- *
- * @return connection MySQL Connection.
- */
- @SuppressWarnings("unused")
- public static Connection getConnection() {
- return connection;
- }
-
- /** .. */
-
- //Old Stuff
- /*private static boolean checkForUpdate() throws IOException {
- URL call = new URL(Settings.Update.VERSION_URL);
- InputStream stream = call.openStream();
- BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
- String latest = reader.readLine();
- reader.close();
- return !getPlotMain().getDescription().getVersion().equalsIgnoreCase(latest);
- }
-
- private static String getNextUpdateString() throws IOException {
- URL call = new URL(Settings.Update.VERSION_URL);
- InputStream stream = call.openStream();
- BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
- return reader.readLine();
- }
-
- private static void update() throws IOException {
- sendConsoleSenderMessage(C.PREFIX.s() + "&c&lThere is an update! New Update: &6&l" + getNextUpdateString() + "&c&l, Current Update: &6&l" + getPlotMain().getDescription().getVersion());
- }
- */
-
- /**
- * Send a message to the console.
- *
- * @param string message
- */
- public static void sendConsoleSenderMessage(String string) {
- getMain().getServer().getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&', string));
- }
-
- public static boolean teleportPlayer(Player player, Location from, Plot plot) {
- PlayerTeleportToPlotEvent event = new PlayerTeleportToPlotEvent(player, from, plot);
- Bukkit.getServer().getPluginManager().callEvent(event);
- if(!event.isCancelled()) {
- Location location = PlotHelper.getPlotHome(Bukkit.getWorld(plot.world), plot);
- if(location.getBlockX() >= 29999999 || location.getBlockX() <= -29999999 ||
- location.getBlockZ() >= 299999999 ||location.getBlockZ() <= -29999999) {
- event.setCancelled(true);
- return false;
- }
- player.teleport(location);
- PlayerFunctions.sendMessage(player, C.TELEPORTED_TO_PLOT);
- }
- return event.isCancelled();
- }
-
- /**
- * Send a message to the console
- *
- * @param c message
- */
- @SuppressWarnings("unused")
- public static void sendConsoleSenderMessage(C c) {
- sendConsoleSenderMessage(c.s());
- }
-
- /**
- * Broadcast publicly
- *
- * @param c message
- */
- public static void Broadcast(C c) {
- Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&',
- C.PREFIX.s() + c.s()));
- }
-
- /**
- * Returns the main class.
- *
- * @return (this class)
- */
- public static PlotMain getMain() {
- return JavaPlugin.getPlugin(PlotMain.class);
- }
-
- /**
- * Broadcast a message to all admins
- *
- * @param c message
- */
- public static void BroadcastWithPerms(C c) {
- for (Player player : Bukkit.getOnlinePlayers()) {
- if (player.hasPermission("plots.admin"))
- PlayerFunctions.sendMessage(player, c);
- }
- System.out.println(ChatColor.stripColor(ChatColor
- .translateAlternateColorCodes('&', C.PREFIX.s() + c.s())));
- }
-
-
- public static void reloadTranslations() throws IOException {
- translations = YamlConfiguration.loadConfiguration(translationsFile);
- }
- /**
- * Load configuration files
- */
- @SuppressWarnings("deprecation")
- public static void configs() {
- File folder = new File(getMain().getDataFolder() + File.separator + "config");
- if (!folder.exists() && !folder.mkdirs()) {
- sendConsoleSenderMessage(C.PREFIX.s() + "&cFailed to create the /plugins/config folder. Please create it manually.");
- }
- try {
- configFile = new File(getMain().getDataFolder() + File.separator + "config" + File.separator +"settings.yml");
- if (!configFile.exists()) {
- configFile.createNewFile();
- }
- config = YamlConfiguration.loadConfiguration(configFile);
- setupConfig();
- }
- catch (Exception err_trans) {
- Logger.add(LogLevel.DANGER, "Failed to save settings.yml");
- System.out.println("Failed to save settings.yml");
- }
- try {
- storageFile = new File(getMain().getDataFolder() + File.separator + "config" + File.separator +"storage.yml");
- if (!storageFile.exists()) {
- storageFile.createNewFile();
- }
- storage = YamlConfiguration.loadConfiguration(storageFile);
- setupStorage();
- }
- catch (Exception err_trans) {
- Logger.add(LogLevel.DANGER, "Failed to save storage.yml");
- System.out.println("Failed to save storage.yml");
- }
- try {
- translationsFile = new File(getMain().getDataFolder() + File.separator + "config" + File.separator +"translations.yml");
- if (!translationsFile.exists()) {
- translationsFile.createNewFile();
- }
- translations = YamlConfiguration.loadConfiguration(translationsFile);
- setupTranslations();
- }
- catch (Exception err_trans) {
- Logger.add(LogLevel.DANGER, "Failed to save translations.yml");
- System.out.println("Failed to save translations.yml");
- }
-
-
- try {
- config.save(configFile);
- storage.save(storageFile);
- translations.save(translationsFile);
- } catch (IOException e) {
- Logger.add(LogLevel.DANGER, "Configuration file saving failed");
- e.printStackTrace();
- }
- {
- Settings.DB.USE_MYSQL = true;
- Settings.DB.USER = storage.getString("mysql_user");
- Settings.DB.PASSWORD = storage.getString("mysql_password");
- Settings.DB.HOST_NAME = storage.getString("mysql_host");
- Settings.DB.PORT = storage.getString("mysql_port");
- Settings.DB.DATABASE = storage.getString("mysql_database");
- }
- {
- Settings.Update.AUTO_UPDATE = config.getBoolean("auto_update");
-
-
-
- //Web
- Web.ENABLED = config.getBoolean("web.enabled");
- Web.PORT = config.getInt("web.port");
- }
- }
-
- /**
- * Kill all entities on roads
- */
- @SuppressWarnings("deprecation")
- public static void killAllEntities() {
- Bukkit.getScheduler().scheduleAsyncRepeatingTask(getMain(),
- new Runnable() {
- World world;
- Location location;
- long ticked = 0l;
- long error = 0l;
- @Override
- public void run() {
- for (World w: getPlotWorlds()) {
- World world = w;
- try {
- if(world.getLoadedChunks().length < 1) {
- return;
- }
- for (Chunk chunk : world.getLoadedChunks()) {
- for (Entity entity : chunk.getEntities()){
- if (entity.getType() == EntityType.PLAYER)
- continue;
- location = entity.getLocation();
- if (!PlayerEvents.isInPlot(location))
- entity.remove();
- }
- }
- } catch (Exception e) {
- ++error;
- }
- finally {
- ++ticked;
- }
- }
- }
- }, 0l, 2l);
- }
-
- /**
- * SETUP: settings.properties
- */
- private static void setupConfig() {
- config.set("version", config_ver);
- Map options = new HashMap();
- options.put("auto_update", false);
- options.put("kill_road_mobs", Settings.KILL_ROAD_MOBS_DEFAULT);
- options.put("web.enabled", Web.ENABLED);
- options.put("web.port", Web.PORT);
- for (Entry node : options.entrySet()) {
- if (!config.contains(node.getKey())) {
- config.set(node.getKey(), node.getValue());
- }
- }
- for (String node:config.getConfigurationSection("worlds").getKeys(false)) {
- World world = Bukkit.getWorld(node);
- if (world==null) {
- Logger.add(LogLevel.WARNING, "World '"+node+"' in settings.yml does not exist (case sensitive)");
- }
- else {
- ChunkGenerator gen = world.getGenerator();
- if (gen==null || gen.toString().equals("PlotSquared")) {
- Logger.add(LogLevel.WARNING, "World '"+node+"' in settings.yml is not using PlotSquared generator");
- }
- }
- }
- }
-
- /**
- * SETUP: storage.properties
- */
- private static void setupStorage() {
- storage.set("version", storage_ver);
- Map options = new HashMap();
- options.put("mysql_host", "localhost");
- options.put("mysql_port", "3306");
- options.put("mysql_user", "root");
- options.put("mysql_password", "password");
- options.put("mysql_database", "plot_db");
- for (Entry node : options.entrySet()) {
- if (!storage.contains(node.getKey())) {
- storage.set(node.getKey(), node.getValue());
- }
- }
- }
-
- /**
- * SETUP: translations.properties
- */
- public static void setupTranslations() {
- translations.set("version", translations_ver);
- for (C c : C.values()) {
- if (!translations.contains(c.toString())) {
- translations.set(c.toString(), c.s());
- }
-
- }
- }
-
- /**
- * On unload
- */
- @Override
- public void onDisable() {
- Logger.add(LogLevel.GENERAL, "Logger disabled");
- try {
- Logger.write();
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- try {
- connection.close();
- mySQL.closeConnection();
- }
- catch (NullPointerException | SQLException e) {
- if (connection!=null) {
- Logger.add(LogLevel.DANGER, "Could not close mysql connection");
- }
- }
- if(PlotWeb.PLOTWEB != null) {
- try {
- PlotWeb.PLOTWEB.stop();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- public static void addPlotWorld(String world,PlotWorld plotworld) {
- PlotMain.worlds.put(world,plotworld);
- if(!plots.containsKey(world))
- plots.put(world, new HashMap());
- }
-}
\ No newline at end of file
diff --git a/src/com/intellectualcrafters/plot/PlotSettings.java b/src/com/intellectualcrafters/plot/PlotSettings.java
deleted file mode 100644
index 618528412..000000000
--- a/src/com/intellectualcrafters/plot/PlotSettings.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = PlotSettings.java
- * >> Generated by: Citymonstret at 2014-08-09 01:44
- */
-
-package com.intellectualcrafters.plot;
-
-import org.bukkit.block.Biome;
-
-/**
- * plot settings
- * @author Citymonstret
- *
- */
-public class PlotSettings {
-
- private String alias;
- /**
- * plot object
- */
- @SuppressWarnings("unused")
- private Plot plot;
- /**
- * plot biome
- */
- private Biome biome;
- /**
- * plot rain
- */
- private boolean rain;
- /**
- * plot time
- */
- private Long time;
- /**
- * Change time?
- */
- private boolean changeTime;
- private PlotHomePosition position;
- /**
- * Constructor
- * @param plot
- */
- public PlotSettings(Plot plot) {
- this.plot = plot;
- this.alias = "";
- }
-
- /**
- *
- * @param b
- */
- public void setBiome(Biome b) {
- this.biome = b;
- }
-
- /**
- *
- * @param b
- */
- public void setTimeChange(boolean b) {
- this.changeTime = b;
- }
-
- /**
- *
- * @param l
- */
- public void setTime(long l) {
- this.time = l;
- }
-
- /**
- *
- * @return
- * @deprecated
- */
- public Biome getBiome() {
- return this.biome;
- }
-
- /**
- *
- * @return
- */
- public boolean getRain() {
- return this.rain;
- }
-
- public void setRain(boolean b) {
- this.rain = b;
- }
-
- /**
- *
- * @return
- */
- public long getTime() {
- return this.time;
- }
-
- /**
- *
- * @return
- */
- public boolean getChangeTime() {
- return this.changeTime;
- }
-
- /**
- *
- */
- public void setAlias(String alias) {
- this.alias = alias;
- }
-
- public PlotHomePosition getPosition() { return this.position; }
- public void setPosition(PlotHomePosition position) { this.position = position; }
- public String getAlias() { return this.alias; }
- public String getJoinMessage() { return ""; }
-
- public String getLeaveMessage() { return ""; }
-}
diff --git a/src/com/intellectualcrafters/plot/PlotWorld.java b/src/com/intellectualcrafters/plot/PlotWorld.java
deleted file mode 100644
index 348e4ea2e..000000000
--- a/src/com/intellectualcrafters/plot/PlotWorld.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package com.intellectualcrafters.plot;
-
-import java.util.ArrayList;
-
-import org.bukkit.Material;
-
-public class PlotWorld {
- /**
- * Road Height
- */
- public int ROAD_HEIGHT;
- /**
- * Default Road Height: 64
- */
- public static int ROAD_HEIGHT_DEFAULT = 64;
-
- /**
- * plot height
- */
- public int PLOT_HEIGHT;
- /**
- * Default plot height: 64
- */
- public static int PLOT_HEIGHT_DEFAULT = 64;
-
- /**
- * Wall height
- */
- public int WALL_HEIGHT;
- /**
- * Default Wall Height: 64
- */
- public static int WALL_HEIGHT_DEFAULT = 64;
-
- /**
- * plot width
- */
- public int PLOT_WIDTH;
- /**
- * Default plot width: 32
- */
- public static int PLOT_WIDTH_DEFAULT = 32;
-
- /**
- * Road width
- */
- public int ROAD_WIDTH;
- /**
- * Default road width: 7
- */
- public static int ROAD_WIDTH_DEFAULT = 7;
-
- /**
- * Plot biome
- */
- public String PLOT_BIOME;
- /**
- * Default biome = FOREST
- */
- public static String PLOT_BIOME_DEFAULT = "FOREST";
- /**
- * PlotMain block
- */
- public String[] MAIN_BLOCK;
- /**
- * Default main block: 1
- */
- public static String[] MAIN_BLOCK_DEFAULT = new String[] {"1:0"};
- /**
- * Top blocks
- */
- public String[] TOP_BLOCK;
- /**
- * Default top blocks: {"2"}
- */
- public static String[] TOP_BLOCK_DEFAULT = new String[] {"2:0"};
-
- /**
- * Wall block
- */
- public String WALL_BLOCK;
- /**
- * Default wall block: 44
- */
- public static String WALL_BLOCK_DEFAULT = "44:0";
-
- /**
- * Wall filling
- */
- public String WALL_FILLING;
- /**
- * Default wall filling: 1
- */
- public static String WALL_FILLING_DEFAULT = "1:0";
-
-// /**
-// * Road stripes
-// */
-// public int ROAD_STRIPES;
-// /**
-// * Default road stripes: 35
-// */
-// public static int ROAD_STRIPES_DEFAULT = 35;
-//
-// /**
-// * Road stripes data value (byte)
-// */
-// public int ROAD_STRIPES_DATA;
-// /**
-// * Default road stripes data value: (byte) 0
-// */
-// public static int ROAD_STRIPES_DATA_DEFAULT = 0;
-//
-// /**
-// * Wall block data value (byte)
-// */
-// public int WALL_BLOCK_DATA;
-// /**
-// * Default wall block data value: (byte) 0
-// */
-// public static int WALL_BLOCK_DATA_DEFAULT = 0;
-//
-// /**
-// * Wall filling data value (byte)
-// */
-// public int WALL_FILLING_DATA;
-// /**
-// * Default wall filling data value: (byte) 0
-// */
-// public static int WALL_FILLING_DATA_DEFAULT = 0;
- /**
- * Road block
- */
- public String ROAD_BLOCK;
- /**
- * Default road block: 155
- */
- public static String ROAD_BLOCK_DEFAULT = "155:0";
-//
-// /**
-// * Road block data value (byte)
-// */
-// public int ROAD_BLOCK_DATA;
-// /**
-// * Default road block data value: (byte) 0
-// */
-// public static int ROAD_BLOCK_DATA_DEFAULT = 0;
-
- /**
- * plot chat?
- */
- public boolean PLOT_CHAT;
- /**
- * Default plot chat: true
- */
- public static boolean PLOT_CHAT_DEFAULT = false;
-
- /**
- * Blocks available in /p set
- */
- public static ArrayList BLOCKS = new ArrayList();
-
-}
diff --git a/src/com/intellectualcrafters/plot/RUtils.java b/src/com/intellectualcrafters/plot/RUtils.java
deleted file mode 100644
index e90675bfb..000000000
--- a/src/com/intellectualcrafters/plot/RUtils.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = RUtils.java
- * >> Generated by: Citymonstret at 2014-08-09 01:44
- */
-
-package com.intellectualcrafters.plot;
-
-import org.bukkit.Location;
-import org.bukkit.entity.Player;
-
-/**
- * Random utilities
- * @author Citymonstret
- *
- */
-public class RUtils {
-
- public static long getTotalRam() {
- return (Runtime.getRuntime().maxMemory() / 1024) / 1024;
- }
-
- public static long getFreeRam() {
- return (Runtime.getRuntime().freeMemory() / 1024) / 1024;
- }
-
- public static long getRamPercentage() {
- return (getFreeRam() / getTotalRam()) * 100;
- }
-
- public static String formatTime(double sec) {
- double h = sec / 3600;
- double m = (sec % 3600) / 60;
- double s = sec % 60;
- String string = C.TIME_FORMAT.s();
-
- @SuppressWarnings("unused")
- //String s_d = (int) d + " " + (d != 1 ? "days" : "day");
- String s_h = (int) h + " " + ((int) h != 1 ? "hours" : "hour");
- String s_m = (int) m + " " + ((int) m != 1 ? "minutes" : "minute");
- String s_s = (int) s + " " + ((int) s != 1 ? "seconds" : "second");
- return string.replaceAll("%sec%", s_s).replaceAll("%min%", s_m).replaceAll("%hours%", s_h);
- }
-
- enum Direction {
- SOUTH(0),
- EAST(1),
- NORTH(2),
- WEST(3)
- ;
- private int i;
- Direction(int i) {
- this.i = i;
- }
- public int getInt() {
- return this.i;
- }
- }
-
- public void forceTexture(Player p) {
- p.setResourcePack(Settings.PLOT_SPECIFIC_RESOURCE_PACK);
- }
-
- public Direction getDirection(Location l) {
- double d = (l.getYaw() * 4.0F / 360.0F) + 0.5D;
- int i = (int) d;
- int x = d < i ? i - 1 : i;
-
- float yaw;
-
-
-
- switch(x) {
- case 0:
- return Direction.SOUTH;
- case 1:
- return Direction.EAST;
- case 2:
- return Direction.NORTH;
- case 3:
- return Direction.WEST;
- default:
- return null;
- }
- }
-
- public boolean compareDirections(Location l1, Location l2) {
- return getDirection(l1) == getDirection(l2);
- }
-
- private boolean AND(boolean b1, boolean b2) {
- return b1 && b2;
- }
-
- private boolean OR(boolean b1, boolean b2) {
- return b1 || b2;
- }
-
- private boolean XOR(boolean b1, boolean b2) {
- return b1 ^ b2;
- }
-
- private boolean NAND(boolean b1, boolean b2) {
- return !b1 && !b2;
- }
-
- private boolean NOR(boolean b1, boolean b2) {
- return !b1 || !b2;
- }
-
-}
diff --git a/src/com/intellectualcrafters/plot/ReflectionUtils.java b/src/com/intellectualcrafters/plot/ReflectionUtils.java
deleted file mode 100644
index 19285880d..000000000
--- a/src/com/intellectualcrafters/plot/ReflectionUtils.java
+++ /dev/null
@@ -1,483 +0,0 @@
-package com.intellectualcrafters.plot;
-
-import org.bukkit.Bukkit;
-import org.bukkit.Server;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author DPOH-VAR
- * @version 1.0
- */
-@SuppressWarnings({ "UnusedDeclaration", "rawtypes" })
-public class ReflectionUtils {
-
- /** prefix of bukkit classes */
- private static String preClassB = "org.bukkit.craftbukkit";
- /** prefix of minecraft classes */
- private static String preClassM = "net.minecraft.server";
- /** boolean value, TRUE if server uses forge or MCPC+ */
- private static boolean forge = false;
-
- /** check server version and class names */
- static {
- if(Bukkit.getServer()!=null) {
- if(Bukkit.getVersion().contains("MCPC")||Bukkit.getVersion().contains("Forge")) forge = true;
- Server server = Bukkit.getServer();
- Class> bukkitServerClass = server.getClass();
- String[] pas = bukkitServerClass.getName().split("\\.");
- if (pas.length == 5) {
- String verB = pas[3];
- preClassB += "."+verB;
- }
- try {
- Method getHandle = bukkitServerClass.getDeclaredMethod("getHandle");
- Object handle = getHandle.invoke(server);
- Class handleServerClass = handle.getClass();
- pas = handleServerClass.getName().split("\\.");
- if (pas.length == 5) {
- String verM = pas[3];
- preClassM += "."+verM;
- }
- } catch (Exception ignored) {
- }
- }
- }
-
- /**
- * @return true if server has forge classes
- */
- public static boolean isForge(){
- return forge;
- }
-
- /**
- * Get class for name.
- * Replace {nms} to net.minecraft.server.V*.
- * Replace {cb} to org.bukkit.craftbukkit.V*.
- * Replace {nm} to net.minecraft
- * @param classes possible class paths
- * @return RefClass object
- * @throws RuntimeException if no class found
- */
- public static RefClass getRefClass(String... classes){
- for (String className: classes) try {
- className = className
- .replace("{cb}", preClassB)
- .replace("{nms}", preClassM)
- .replace("{nm}", "net.minecraft");
- return getRefClass(Class.forName(className));
- } catch (ClassNotFoundException ignored) {
- }
- throw new RuntimeException("no class found");
- }
-
- /**
- * get RefClass object by real class
- * @param clazz class
- * @return RefClass based on passed class
- */
- public static RefClass getRefClass(Class clazz) {
- return new RefClass(clazz);
- }
-
- /**
- * RefClass - utility to simplify work with reflections.
- */
- public static class RefClass {
- private final Class> clazz;
-
- /**
- * get passed class
- * @return class
- */
- public Class> getRealClass() {
- return clazz;
- }
- private RefClass(Class> clazz) {
- this.clazz = clazz;
- }
-
- /**
- * see {@link Class#isInstance(Object)}
- * @param object the object to check
- * @return true if object is an instance of this class
- */
- public boolean isInstance(Object object){
- return clazz.isInstance(object);
- }
-
- /**
- * get existing method by name and types
- * @param name name
- * @param types method parameters. can be Class or RefClass
- * @return RefMethod object
- * @throws RuntimeException if method not found
- */
- public RefMethod getMethod(String name, Object... types) {
- try {
- Class[] classes = new Class[types.length];
- int i=0; for (Object e: types) {
- if (e instanceof Class) classes[i++] = (Class)e;
- else if (e instanceof RefClass) classes[i++] = ((RefClass) e).getRealClass();
- else classes[i++] = e.getClass();
- }
- try {
- return new RefMethod(clazz.getMethod(name, classes));
- } catch (NoSuchMethodException ignored) {
- return new RefMethod(clazz.getDeclaredMethod(name, classes));
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * get existing constructor by types
- * @param types parameters. can be Class or RefClass
- * @return RefMethod object
- * @throws RuntimeException if constructor not found
- */
- public RefConstructor getConstructor(Object... types) {
- try {
- Class[] classes = new Class[types.length];
- int i=0; for (Object e: types) {
- if (e instanceof Class) classes[i++] = (Class)e;
- else if (e instanceof RefClass) classes[i++] = ((RefClass) e).getRealClass();
- else classes[i++] = e.getClass();
- }
- try {
- return new RefConstructor(clazz.getConstructor(classes));
- } catch (NoSuchMethodException ignored) {
- return new RefConstructor(clazz.getDeclaredConstructor(classes));
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * find method by type parameters
- * @param types parameters. can be Class or RefClass
- * @return RefMethod object
- * @throws RuntimeException if method not found
- */
- public RefMethod findMethod(Object... types) {
- Class[] classes = new Class[types.length];
- int t=0; for (Object e: types) {
- if (e instanceof Class) classes[t++] = (Class)e;
- else if (e instanceof RefClass) classes[t++] = ((RefClass) e).getRealClass();
- else classes[t++] = e.getClass();
- }
- List methods = new ArrayList<>();
- Collections.addAll(methods, clazz.getMethods());
- Collections.addAll(methods, clazz.getDeclaredMethods());
- findMethod: for (Method m: methods) {
- Class>[] methodTypes = m.getParameterTypes();
- if (methodTypes.length != classes.length) continue;
- for (int i=0; i methods = new ArrayList<>();
- Collections.addAll(methods, clazz.getMethods());
- Collections.addAll(methods, clazz.getDeclaredMethods());
- for (Method m: methods) {
- for (String name: names) {
- if (m.getName().equals(name)) {
- return new RefMethod(m);
- }
- }
- }
- throw new RuntimeException("no such method");
- }
-
- /**
- * find method by return value
- * @param type type of returned value
- * @throws RuntimeException if method not found
- * @return RefMethod
- */
- public RefMethod findMethodByReturnType(RefClass type) {
- return findMethodByReturnType(type.clazz);
- }
-
- /**
- * find method by return value
- * @param type type of returned value
- * @return RefMethod
- * @throws RuntimeException if method not found
- */
- public RefMethod findMethodByReturnType(Class type) {
- if (type==null) type = void.class;
- List methods = new ArrayList<>();
- Collections.addAll(methods, clazz.getMethods());
- Collections.addAll(methods, clazz.getDeclaredMethods());
- for (Method m: methods) {
- if (type.equals(m.getReturnType())) {
- return new RefMethod(m);
- }
- }
- throw new RuntimeException("no such method");
- }
-
- /**
- * find constructor by number of arguments
- * @param number number of arguments
- * @return RefConstructor
- * @throws RuntimeException if constructor not found
- */
- public RefConstructor findConstructor(int number) {
- List constructors = new ArrayList<>();
- Collections.addAll(constructors, clazz.getConstructors());
- Collections.addAll(constructors, clazz.getDeclaredConstructors());
- for (Constructor m: constructors) {
- if (m.getParameterTypes().length == number) return new RefConstructor(m);
- }
- throw new RuntimeException("no such constructor");
- }
-
- /**
- * get field by name
- * @param name field name
- * @return RefField
- * @throws RuntimeException if field not found
- */
- public RefField getField(String name) {
- try {
- try {
- return new RefField(clazz.getField(name));
- } catch (NoSuchFieldException ignored) {
- return new RefField(clazz.getDeclaredField(name));
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * find field by type
- * @param type field type
- * @return RefField
- * @throws RuntimeException if field not found
- */
- public RefField findField(RefClass type) {
- return findField(type.clazz);
- }
-
- /**
- * find field by type
- * @param type field type
- * @return RefField
- * @throws RuntimeException if field not found
- */
- public RefField findField(Class type) {
- if (type==null) type = void.class;
- List fields = new ArrayList<>();
- Collections.addAll(fields, clazz.getFields());
- Collections.addAll(fields, clazz.getDeclaredFields());
- for (Field f: fields) {
- if (type.equals(f.getType())) {
- return new RefField(f);
- }
- }
- throw new RuntimeException("no such field");
- }
- }
-
- /**
- * Method wrapper
- */
- public static class RefMethod {
- private final Method method;
-
- /**
- * @return passed method
- */
- public Method getRealMethod(){
- return method;
- }
- /**
- * @return owner class of method
- */
- public RefClass getRefClass(){
- return new RefClass(method.getDeclaringClass());
- }
- /**
- * @return class of method return type
- */
- public RefClass getReturnRefClass(){
- return new RefClass(method.getReturnType());
- }
- private RefMethod (Method method) {
- this.method = method;
- method.setAccessible(true);
- }
- /**
- * apply method to object
- * @param e object to which the method is applied
- * @return RefExecutor with method call(...)
- */
- public RefExecutor of(Object e) {
- return new RefExecutor(e);
- }
-
- /**
- * call static method
- * @param params sent parameters
- * @return return value
- */
- public Object call(Object... params) {
- try{
- return method.invoke(null,params);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- public class RefExecutor {
- Object e;
- public RefExecutor(Object e) {
- this.e = e;
- }
-
- /**
- * apply method for selected object
- * @param params sent parameters
- * @return return value
- * @throws RuntimeException if something went wrong
- */
- public Object call(Object... params) {
- try{
- return method.invoke(e,params);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
- }
-
- /**
- * Constructor wrapper
- */
- public static class RefConstructor {
- private final Constructor constructor;
-
- /**
- * @return passed constructor
- */
- public Constructor getRealConstructor(){
- return constructor;
- }
-
- /**
- * @return owner class of method
- */
- public RefClass getRefClass(){
- return new RefClass(constructor.getDeclaringClass());
- }
- private RefConstructor (Constructor constructor) {
- this.constructor = constructor;
- constructor.setAccessible(true);
- }
-
- /**
- * create new instance with constructor
- * @param params parameters for constructor
- * @return new object
- * @throws RuntimeException if something went wrong
- */
- public Object create(Object... params) {
- try{
- return constructor.newInstance(params);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- public static class RefField {
- private Field field;
-
- /**
- * @return passed field
- */
- public Field getRealField(){
- return field;
- }
-
- /**
- * @return owner class of field
- */
- public RefClass getRefClass(){
- return new RefClass(field.getDeclaringClass());
- }
-
- /**
- * @return type of field
- */
- public RefClass getFieldRefClass(){
- return new RefClass(field.getType());
- }
- private RefField (Field field) {
- this.field = field;
- field.setAccessible(true);
- }
-
- /**
- * apply fiend for object
- * @param e applied object
- * @return RefExecutor with getter and setter
- */
- public RefExecutor of(Object e) {
- return new RefExecutor(e);
- }
- public class RefExecutor {
- Object e;
- public RefExecutor(Object e) {
- this.e = e;
- }
-
- /**
- * set field value for applied object
- * @param param value
- */
- public void set(Object param) {
- try{
- field.set(e,param);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * get field value for applied object
- * @return value of field
- */
- public Object get() {
- try{
- return field.get(e);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
- }
-
-}
diff --git a/src/com/intellectualcrafters/plot/SchematicHandler.java b/src/com/intellectualcrafters/plot/SchematicHandler.java
deleted file mode 100644
index 9d976e28e..000000000
--- a/src/com/intellectualcrafters/plot/SchematicHandler.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package com.intellectualcrafters.plot;
-
-import com.sk89q.jnbt.*;
-import org.bukkit.Location;
-import org.bukkit.World;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.util.Map;
-import java.util.zip.GZIPInputStream;
-
-/**
- * Created by Citymonstret on 2014-09-15.
- */
-public class SchematicHandler {
-
- @SuppressWarnings("deprecation")
- public boolean paste(Location location, Schematic schematic) {
- if(schematic == null) {
- PlotMain.sendConsoleSenderMessage("Schematic == null :|");
- return false;
- }
-
- Dimension dimension = schematic.getSchematicDimension();
- DataCollection[] collection = schematic.getBlockCollection();
- World world = location.getWorld();
-
- for(int x = 0; x < dimension.getX(); x++) {
- for(int y = 0; y < dimension.getY(); y++) {
- for(int z = 0; z < dimension.getZ(); z++) {
- DataCollection current = collection[getCurrent(x, y, z, dimension)];
- (new Location(world, location.getBlockX() + x, location.getBlockY() + y, location.getBlockZ() + z).getBlock()).setTypeIdAndData(current.getBlock(), current.getData(), true);
- }
- }
- }
- return true;
- }
-
- public Schematic getSchematic(String name) {
- {
- File parent = new File(PlotMain.getPlugin(PlotMain.class).getDataFolder() + File.separator + "schematics");
- if(!parent.exists()) {
- parent.mkdir();
- }
- }
- File file = new File(PlotMain.getPlugin(PlotMain.class).getDataFolder() + File.separator + "schematics" + File.separator + name + ".schematic");
- if(!file.exists()) {
- PlotMain.sendConsoleSenderMessage(file.toString() + " doesn't exist");
- return null;
- }
-
- Schematic schematic = null;
- try {
- InputStream iStream = new FileInputStream(file);
- NBTInputStream stream = new NBTInputStream(new GZIPInputStream(iStream));
- CompoundTag tag = (CompoundTag) stream.readTag();
- Map tagMap = tag.getValue();
-
- byte[] addId = new byte[0];
- if (tagMap.containsKey("AddBlocks")) {
- addId = ByteArrayTag.class.cast(tagMap.get("AddBlocks")).getValue();
- }
-
- short width = ShortTag.class.cast(tagMap.get("Width")).getValue();
- short length = ShortTag.class.cast(tagMap.get("Length")).getValue();
- short height = ShortTag.class.cast(tagMap.get("Height")).getValue();
-
- byte[] b = ByteArrayTag.class.cast(tagMap.get("Blocks")).getValue();
- byte[] d = ByteArrayTag.class.cast(tagMap.get("Data")).getValue();
- short[] blocks = new short[b.length];
-
- Dimension dimension = new Dimension(width, height, length);
-
- for (int index = 0; index < b.length; index++) {
- if ((index >> 1) >= addId.length) { // No corresponding AddBlocks index
- blocks[index] = (short) (b[index] & 0xFF);
- } else {
- if ((index & 1) == 0) {
- blocks[index] = (short) (((addId[index >> 1] & 0x0F) << 8) + (b[index] & 0xFF));
- } else {
- blocks[index] = (short) (((addId[index >> 1] & 0xF0) << 4) + (b[index] & 0xFF));
- }
- }
- }
-
- DataCollection[] collection = new DataCollection[b.length];
-
- for(int x = 0; x < b.length; x++) {
- collection[x] = new DataCollection(blocks[x], d[x]);
- }
-
- schematic = new Schematic(collection, dimension);
- } catch(Exception e) {
- e.printStackTrace();
- return null;
- } finally {
- return schematic;
- }
- }
-
- private int getCurrent(int x, int y, int z, Dimension dimension) {
- return (x * dimension.getX()) + (y * dimension.getY()) + (z * dimension.getZ());
- }
-
- public class Schematic {
- private DataCollection[] blockCollection;
- private Dimension schematicDimension;
-
- public Schematic(DataCollection[] blockCollection, Dimension schematicDimension) {
- this.blockCollection = blockCollection;
- this.schematicDimension = schematicDimension;
- }
-
- public Dimension getSchematicDimension() {
- return this.schematicDimension;
- }
-
- public DataCollection[] getBlockCollection() {
- return this.blockCollection;
- }
- }
-
- public class Dimension {
- private int x;
- private int y;
- private int z;
-
- public Dimension(int x, int y, int z) {
- this.x = x;
- this.y = y;
- this.z = z;
- }
-
- public int getX() {
- return this.x;
- }
-
- public int getY() {
- return this.y;
- }
-
- public int getZ() {
- return this.z;
- }
- }
-
- public class DataCollection {
- private short block;
- private byte data;
-
- public DataCollection(short block, byte data) {
- this.block = block;
- this.data = data;
- }
-
- public short getBlock() {
- return this.block;
- }
-
- public byte getData() {
- return this.data;
- }
- }
-}
diff --git a/src/com/intellectualcrafters/plot/SetBlockFast.java b/src/com/intellectualcrafters/plot/SetBlockFast.java
deleted file mode 100644
index 18a60bd50..000000000
--- a/src/com/intellectualcrafters/plot/SetBlockFast.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.intellectualcrafters.plot;
-
-import org.bukkit.entity.Player;
-
-import static com.intellectualcrafters.plot.ReflectionUtils.*;
-
-public class SetBlockFast {
-
- private static final RefClass classBlock = getRefClass("{nms}.Block");
- private static final RefClass classChunk = getRefClass("{nms}.Chunk");
- private static final RefClass classWorld = getRefClass("{nms}.World");
- private static final RefClass classCraftWorld = getRefClass("{cb}.CraftWorld");
-
- private static final RefMethod methodGetHandle = classCraftWorld.getMethod("getHandle");
- private static final RefMethod methodGetChunkAt = classWorld.getMethod("getChunkAt",int.class,int.class);
- private static final RefMethod methodA = classChunk.getMethod("a",int.class,int.class,int.class,classBlock,int.class);
- private static final RefMethod methodGetById = classBlock.getMethod("getById", int.class);
-
- public SetBlockFast() {
-
- }
-
- public static boolean set(org.bukkit.World world, int x, int y, int z, int blockId, byte data) {
- Object w = methodGetHandle.of(world).call();
-
- Object chunk = methodGetChunkAt.of(w).call(x >> 4, z >> 4);
- Object block = methodGetById.of(null).call(blockId);
- methodA.of(chunk).call(x & 0x0f, y, z & 0x0f,block , data);
- return true;
- }
- public static void update(Player player) {
- for (int cx = -8; cx < 8; cx++) {
- for (int cz = -8; cz < 8; cz++) {
- player.getWorld().refreshChunk(player.getLocation().getChunk().getX() + cx, player.getLocation().getChunk().getZ() + cz);
- }
- }
- }
-}
diff --git a/src/com/intellectualcrafters/plot/Settings.java b/src/com/intellectualcrafters/plot/Settings.java
deleted file mode 100644
index 3e09cbe94..000000000
--- a/src/com/intellectualcrafters/plot/Settings.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Settings.java
- * >> Generated by: Citymonstret at 2014-08-09 01:44
- */
-
-package com.intellectualcrafters.plot;
-
-import org.bukkit.Material;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Updater and DB settings
- * @author Citymonstret
- *
- * @author Empire92
- */
-public class Settings {
- /**
- * plot specific resource pack
- */
- public static String PLOT_SPECIFIC_RESOURCE_PACK = "";
- /**
- * Kill road mobs?
- */
- public static boolean KILL_ROAD_MOBS;
- /**
- * Default kill road mobs: true
- */
- public static boolean KILL_ROAD_MOBS_DEFAULT = true;
- /**
- * Update settings
- * @author Citymonstret
- *
- */
- public static String URL = "http://dev.bukkit.org/bukkit-plugins/plotsquared/";
- public static class Update {
- /**
- * Update plugin?
- */
- public static boolean AUTO_UPDATE = false;
- }
-
- public static class Web {
- public static boolean ENABLED = false;
- public static int PORT = 9000;
- }
-
- /**
- * Database settings
- * @author Citymonstret
- *
- */
- public static class DB {
- public static boolean USE_MONGO = false; /* TODO: Implement Mongo */;
- public static boolean USE_MYSQL = true; /* NOTE: Fixed connector */
- public static String HOST_NAME = "localhost";
- public static String PORT = "3306";
- public static String DATABASE = "plot_db";
- public static String USER = "root";
- public static String PASSWORD = "password";
- }
-}
\ No newline at end of file
diff --git a/src/com/intellectualcrafters/plot/Title.java b/src/com/intellectualcrafters/plot/Title.java
deleted file mode 100644
index 053215523..000000000
--- a/src/com/intellectualcrafters/plot/Title.java
+++ /dev/null
@@ -1,436 +0,0 @@
-package com.intellectualcrafters.plot;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.entity.Player;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Minecraft 1.8 Title
- *
- * @version 1.0.3
- * @author Maxim Van de Wynckel
- */
-@SuppressWarnings("unused")
-public class Title {
- /* Title packet */
- private Class> packetTitle;
- /* Title packet actions ENUM */
- private Class> packetActions;
- /* Chat serializer */
- private Class> nmsChatSerializer;
- /* Title text and color */
- private String title = "";
- private ChatColor titleColor = ChatColor.WHITE;
- /* Subtitle text and color */
- private String subtitle = "";
- private ChatColor subtitleColor = ChatColor.WHITE;
- /* Title timings */
- private int fadeInTime = -1;
- private int stayTime = -1;
- private int fadeOutTime = -1;
- private boolean ticks = false;
-
- private static final Map, Class>> CORRESPONDING_TYPES;
-
- static {
- CORRESPONDING_TYPES = new HashMap<>();
- }
-
- /**
- * Create a new 1.8 title
- *
- * @param title
- * Title
- */
- public Title(String title) {
- this.title = title;
- loadClasses();
- }
-
- /**
- * Create a new 1.8 title
- *
- * @param title
- * Title text
- * @param subtitle
- * Subtitle text
- */
- public Title(String title, String subtitle) {
- this.title = title;
- this.subtitle = subtitle;
- loadClasses();
- }
-
- /**
- * Create a new 1.8 title
- *
- * @param title
- * Title text
- * @param subtitle
- * Subtitle text
- * @param fadeInTime
- * Fade in time
- * @param stayTime
- * Stay on screen time
- * @param fadeOutTime
- * Fade out time
- */
- public Title(String title, String subtitle, int fadeInTime, int stayTime,
- int fadeOutTime) {
- this.title = title;
- this.subtitle = subtitle;
- this.fadeInTime = fadeInTime;
- this.stayTime = stayTime;
- this.fadeOutTime = fadeOutTime;
- loadClasses();
- }
-
- /**
- * Load spigot and NMS classes
- */
- private void loadClasses() {
- packetTitle = getClass("org.spigotmc.ProtocolInjector$PacketTitle");
- packetActions = getClass("org.spigotmc.ProtocolInjector$PacketTitle$Action");
- nmsChatSerializer = getNMSClass("ChatSerializer");
- }
-
- /**
- * Set the title color
- *
- * @param color
- * Chat color
- */
- public void setTitleColor(ChatColor color) {
- this.titleColor = color;
- }
-
- /**
- * Set the subtitle color
- *
- * @param color
- * Chat color
- */
- public void setSubtitleColor(ChatColor color) {
- this.subtitleColor = color;
- }
-
- /**
- * Set title fade in time
- *
- * @param time
- * Time
- */
- public void setFadeInTime(int time) {
- this.fadeInTime = time;
- }
-
- /**
- * Set title fade out time
- *
- * @param time
- * Time
- */
- public void setFadeOutTime(int time) {
- this.fadeOutTime = time;
- }
-
- /**
- * Set title stay time
- *
- * @param time
- * Time
- */
- public void setStayTime(int time) {
- this.stayTime = time;
- }
-
- /**
- * Set timings to ticks
- */
- public void setTimingsToTicks() {
- ticks = true;
- }
-
- /**
- * Set timings to seconds
- */
- public void setTimingsToSeconds() {
- ticks = false;
- }
-
- /**
- * Send the title to a player
- *
- * @param player
- * Player
- */
- public void send(Player player) {
- if (getProtocolVersion(player) >= 47 && isSpigot()
- && packetTitle != null) {
- // First reset previous settings
- resetTitle(player);
- try {
- // Send timings first
- Object handle = getHandle(player);
- Object connection = getField(handle.getClass(),
- "playerConnection").get(handle);
- Object[] actions = packetActions.getEnumConstants();
- Method sendPacket = getMethod(connection.getClass(),
- "sendPacket");
- Object packet = packetTitle.getConstructor(packetActions,
- Integer.TYPE, Integer.TYPE, Integer.TYPE).newInstance(
- actions[2], fadeInTime * (ticks ? 1 : 20),
- stayTime * (ticks ? 1 : 20),
- fadeOutTime * (ticks ? 1 : 20));
- // Send if set
- if (fadeInTime != -1 && fadeOutTime != -1 && stayTime != -1)
- sendPacket.invoke(connection, packet);
-
- // Send title
- Object serialized = getMethod(nmsChatSerializer, "a",
- String.class).invoke(
- null,
- "{text:\""
- + ChatColor.translateAlternateColorCodes('&',
- title) + "\",color:"
- + titleColor.name().toLowerCase() + "}");
- packet = packetTitle.getConstructor(packetActions,
- getNMSClass("IChatBaseComponent")).newInstance(
- actions[0], serialized);
- sendPacket.invoke(connection, packet);
- if (!subtitle.equals("")) {
- // Send subtitle if present
- serialized = getMethod(nmsChatSerializer, "a", String.class)
- .invoke(null,
- "{text:\""
- + ChatColor
- .translateAlternateColorCodes(
- '&', subtitle)
- + "\",color:"
- + subtitleColor.name()
- .toLowerCase() + "}");
- packet = packetTitle.getConstructor(packetActions,
- getNMSClass("IChatBaseComponent")).newInstance(
- actions[1], serialized);
- sendPacket.invoke(connection, packet);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- /**
- * Broadcast the title to all players
- */
- public void broadcast() {
- for (Player p : Bukkit.getOnlinePlayers()) {
- send(p);
- }
- }
-
- /**
- * Clear the title
- *
- * @param player
- * Player
- */
- public void clearTitle(Player player) {
- if (getProtocolVersion(player) >= 47 && isSpigot()) {
- try {
- // Send timings first
- Object handle = getHandle(player);
- Object connection = getField(handle.getClass(),
- "playerConnection").get(handle);
- Object[] actions = packetActions.getEnumConstants();
- Method sendPacket = getMethod(connection.getClass(),
- "sendPacket");
- Object packet = packetTitle.getConstructor(packetActions)
- .newInstance(actions[3]);
- sendPacket.invoke(connection, packet);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- /**
- * Reset the title settings
- *
- * @param player
- * Player
- */
- public void resetTitle(Player player) {
- if (getProtocolVersion(player) >= 47 && isSpigot()) {
- try {
- // Send timings first
- Object handle = getHandle(player);
- Object connection = getField(handle.getClass(),
- "playerConnection").get(handle);
- Object[] actions = packetActions.getEnumConstants();
- Method sendPacket = getMethod(connection.getClass(),
- "sendPacket");
- Object packet = packetTitle.getConstructor(packetActions)
- .newInstance(actions[4]);
- sendPacket.invoke(connection, packet);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- /**
- * Get the protocol version of the player
- *
- * @param player
- * Player
- * @return Protocol version
- */
- private int getProtocolVersion(Player player) {
- int version = 0;
- try {
- Object handle = getHandle(player);
- Object connection = getField(handle.getClass(), "playerConnection")
- .get(handle);
- Object networkManager = getValue("networkManager", connection);
- version = (Integer) getMethod("getVersion",
- networkManager.getClass()).invoke(networkManager);
-
- return version;
- } catch (Exception ex) {
-// ex.printStackTrace(); <-- spammy console
- }
- return version;
- }
-
- /**
- * Check if running spigot
- *
- * @return Spigot
- */
- private boolean isSpigot() {
- return Bukkit.getVersion().contains("Spigot");
- }
-
- /**
- * Get class by url
- *
- * @param namespace
- * Namespace url
- * @return Class
- */
- private Class> getClass(String namespace) {
- try {
- return Class.forName(namespace);
- } catch (Exception e) {
- return null;
- }
- }
-
- private Field getField(String name, Class> clazz) throws Exception {
- return clazz.getDeclaredField(name);
- }
-
- private Object getValue(String name, Object obj) throws Exception {
- Field f = getField(name, obj.getClass());
- f.setAccessible(true);
- return f.get(obj);
- }
-
- private Class> getPrimitiveType(Class> clazz) {
- return CORRESPONDING_TYPES.containsKey(clazz) ? CORRESPONDING_TYPES
- .get(clazz) : clazz;
- }
-
- private Class>[] toPrimitiveTypeArray(Class>[] classes) {
- int a = classes != null ? classes.length : 0;
- Class>[] types = new Class>[a];
- for (int i = 0; i < a; i++)
- types[i] = getPrimitiveType(classes[i]);
- return types;
- }
-
- private static boolean equalsTypeArray(Class>[] a, Class>[] o) {
- if (a.length != o.length)
- return false;
- for (int i = 0; i < a.length; i++)
- if (!a[i].equals(o[i]) && !a[i].isAssignableFrom(o[i]))
- return false;
- return true;
- }
-
- private Object getHandle(Object obj) {
- try {
- return getMethod("getHandle", obj.getClass()).invoke(obj);
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- private Method getMethod(String name, Class> clazz,
- Class>... paramTypes) {
- Class>[] t = toPrimitiveTypeArray(paramTypes);
- for (Method m : clazz.getMethods()) {
- Class>[] types = toPrimitiveTypeArray(m.getParameterTypes());
- if (m.getName().equals(name) && equalsTypeArray(types, t))
- return m;
- }
- return null;
- }
-
- private String getVersion() {
- String name = Bukkit.getServer().getClass().getPackage().getName();
- return name.substring(name.lastIndexOf('.') + 1) + ".";
- }
-
- private Class> getNMSClass(String className) {
- String fullName = "net.minecraft.server." + getVersion() + className;
- Class> clazz = null;
- try {
- clazz = Class.forName(fullName);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return clazz;
- }
-
- private Field getField(Class> clazz, String name) {
- try {
- Field field = clazz.getDeclaredField(name);
- field.setAccessible(true);
- return field;
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
-
- private Method getMethod(Class> clazz, String name, Class>... args) {
- for (Method m : clazz.getMethods())
- if (m.getName().equals(name)
- && (args.length == 0 || ClassListEqual(args,
- m.getParameterTypes()))) {
- m.setAccessible(true);
- return m;
- }
- return null;
- }
-
- private boolean ClassListEqual(Class>[] l1, Class>[] l2) {
- boolean equal = true;
- if (l1.length != l2.length)
- return false;
- for (int i = 0; i < l1.length; i++)
- if (l1[i] != l2[i]) {
- equal = false;
- break;
- }
- return equal;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/WorldGenerator.java b/src/com/intellectualcrafters/plot/WorldGenerator.java
deleted file mode 100644
index 0cfbc35a9..000000000
--- a/src/com/intellectualcrafters/plot/WorldGenerator.java
+++ /dev/null
@@ -1,412 +0,0 @@
-package com.intellectualcrafters.plot;
-
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.World;
-import org.bukkit.block.Biome;
-import org.bukkit.command.defaults.SaveCommand;
-import org.bukkit.configuration.file.YamlConfiguration;
-import org.bukkit.generator.BlockPopulator;
-import org.bukkit.generator.ChunkGenerator;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.Map.Entry;
-
-import static com.intellectualcrafters.plot.PlotWorld.*;
-
-
-/**
- * TODO finish recoding this class
- * @auther Empire92
- * @author Citymonstret
- *
- */
-public class WorldGenerator extends ChunkGenerator {
- short[][] result;
- double plotsize;
- double pathsize;
- short bottom;
- short wall;
- short wallfilling;
- short floor1;
- short floor2;
- double size;
- Biome biome;
- int roadheight;
- int wallheight;
- int plotheight;
-
- Short[] plotfloors;
- Short[] filling;
-
- public short getFilling(Random random) {
- if (filling.length==1) {
- return filling[0];
- }
- return filling[random.nextInt(filling.length)];
- }
-
- public short getPlotFloor(Random random) {
- if (plotfloors.length==1) {
- return plotfloors[0];
- }
- return plotfloors[random.nextInt(plotfloors.length)];
- }
-
- public Short getBlock(String block) {
- if (block.contains(":")) {
- String[] split = block.split(":");
- return Short.parseShort(split[0]);
- }
- return Short.parseShort(block);
- }
-
- public WorldGenerator(String world) {
- YamlConfiguration config = PlotMain.config;
- PlotWorld plotworld = new PlotWorld();
- Map options = new HashMap();
-
- options.put("worlds."+world+".plot_height", PLOT_HEIGHT_DEFAULT);
- options.put("worlds."+world+".plot_size", PLOT_WIDTH_DEFAULT);
- options.put("worlds."+world+".plot_biome", PLOT_BIOME_DEFAULT);
- options.put("worlds."+world+".plot_filling", Arrays.asList(MAIN_BLOCK_DEFAULT));
- options.put("worlds."+world+".top_floor", Arrays.asList(TOP_BLOCK_DEFAULT));
- options.put("worlds."+world+".wall_block", WALL_BLOCK_DEFAULT);
- options.put("worlds."+world+".road_width", ROAD_WIDTH_DEFAULT);
- options.put("worlds."+world+".road_height", ROAD_HEIGHT_DEFAULT);
- options.put("worlds."+world+".road_block", ROAD_BLOCK_DEFAULT);
-// options.put("worlds."+world+".road_stripes", ROAD_STRIPES_DEFAULT);
- options.put("worlds."+world+".wall_filling", WALL_FILLING_DEFAULT);
- options.put("worlds."+world+".wall_height", WALL_HEIGHT_DEFAULT);
-
- for (Entry node : options.entrySet()) {
- if (!config.contains(node.getKey())) {
- config.set(node.getKey(), node.getValue());
- }
- }
- try {
- config.save(PlotMain.configFile);
- } catch (IOException e) {
- PlotMain.sendConsoleSenderMessage("&c[Warning] PlotSquared failed to save the configuration&7 (settings.yml may differ from the one in memory)\n - To force a save from console use /plots save");
- }
- plotworld.PLOT_HEIGHT = config.getInt("worlds."+world+".plot_height");
- plotworld.PLOT_WIDTH = config.getInt("worlds."+world+".plot_size");
- plotworld.PLOT_BIOME = config.getString("worlds."+world+".plot_biome");
- plotworld.MAIN_BLOCK = config.getStringList("worlds."+world+".plot_filling").toArray(new String[0]);
- plotworld.TOP_BLOCK = config.getStringList("worlds."+world+".top_floor").toArray(new String[0]);
- plotworld.WALL_BLOCK = config.getString("worlds."+world+".wall_block");
- plotworld.ROAD_WIDTH = config.getInt("worlds."+world+".road_width");
- plotworld.ROAD_HEIGHT = config.getInt("worlds."+world+".road_height");
- plotworld.ROAD_BLOCK = config.getString("worlds."+world+".road_block");
-// plotworld.ROAD_STRIPES = config.getInt("worlds."+world+".road_stripes");
- plotworld.WALL_FILLING = config.getString("worlds."+world+".wall_filling");
- plotworld.WALL_HEIGHT = config.getInt("worlds."+world+".wall_height");
- plotworld.PLOT_CHAT = config.getBoolean("worlds."+world+".plot_chat");
- PlotMain.addPlotWorld(world, plotworld);
-
- plotsize = plotworld.PLOT_WIDTH;
- pathsize = plotworld.ROAD_WIDTH;
- bottom = (short) Material.BEDROCK.getId();
- filling = new Short[plotworld.MAIN_BLOCK.length];
- plotfloors = new Short[plotworld.TOP_BLOCK.length];
-
- floor1 = getBlock(plotworld.ROAD_BLOCK);
-// floor2 = getBlock(plotworld.ROAD_STRIPES);
- wallfilling = getBlock(plotworld.WALL_FILLING);
- size = pathsize + plotsize;
- wall = getBlock(plotworld.WALL_BLOCK);
-
- Short[] plotfloors = new Short[plotworld.TOP_BLOCK.length];
- Short[] plotfloors_data = new Short[plotworld.TOP_BLOCK.length];
-
- for (int i = 0; i < plotworld.TOP_BLOCK.length; i++) {
- plotfloors[i] = getBlock(plotworld.TOP_BLOCK[i]);
- }
- for (int i = 0; i < plotworld.MAIN_BLOCK.length; i++) {
- filling[i] = getBlock(plotworld.MAIN_BLOCK[i]);
- }
-
- wallheight = plotworld.WALL_HEIGHT;
- roadheight = plotworld.ROAD_HEIGHT;
- plotheight = plotworld.PLOT_HEIGHT;
-
- biome = Biome.FOREST;
- for (Biome myBiome:Biome.values()) {
- if (myBiome.name().equalsIgnoreCase(plotworld.PLOT_BIOME)) {
- biome = myBiome;
- break;
- }
- }
- }
-
- @Override
- public List getDefaultPopulators(World world) {
- return Arrays.asList((BlockPopulator) new XPopulator());
- }
-
- @Override
- public Location getFixedSpawnLocation(World world, Random random) {
- return new Location(world, 0, PlotMain.getWorldSettings(world).ROAD_HEIGHT + 2, 0);
- }
-
- public void setCuboidRegion(double x1,double x2, int y1, int y2, double z1, double z2, short id) {
- for (double x = x1; x < x2; x++) {
- for (double z = z1; z < z2; z++) {
- for (int y = y1; y < y2; y++) {
- setBlock(result, (int) x, y, (int) z, id);
- }
- }
- }
- }
-
- @SuppressWarnings("deprecation")
- @Override
- public short[][] generateExtBlockSections(World world, Random random,
- int cx, int cz, BiomeGrid biomes) {
- int maxY = world.getMaxHeight();
-
- result = new short[maxY / 16][];
-
- double pathWidthLower;
- pathWidthLower = Math.floor(pathsize/2);
- if (cx<0)
- cx+=((-cx)*(size));
- if (cz<0)
- cz+=((-cz)*(size));
- double absX = (cx*16+16-pathWidthLower-1+8*size);
- double absZ = (cz*16+16-pathWidthLower-1+8*size);
- double plotMinX = (((absX)%size));
- double plotMinZ = (((absZ)%size));
- double roadStartX = (plotMinX + pathsize);
- double roadStartZ = (plotMinZ + pathsize);
- if (roadStartX>=size)
- roadStartX-=size;
- if (roadStartZ>=size)
- roadStartZ-=size;
-
- // BOTTOM (1/1 cuboids)
- for (int x = 0; x < 16; x++) {
- for (int z = 0; z < 16; z++) {
- setBlock(result, x, 0, z, bottom);
- biomes.setBiome(x, z, biome);
- }
- }
- // ROAD (0/24) The following is an inefficient placeholder as it is too much work to finish it
-
- if (plotMinZ+1<=16||roadStartZ<=16&&roadStartZ>0) {
- int start = (int) Math.max(16-plotMinZ-pathsize+1,16-roadStartZ+1);
- int end = (int) Math.min(16-plotMinZ-1,16-roadStartZ+pathsize);
- if (start>=0 && start<=16 && end <0)
- end = 16;
- setCuboidRegion(0, 16, 1, roadheight+1, Math.max(start,0),Math.min(16,end), floor1);
- }
- if (plotMinX+1<=16||roadStartX<=16&&roadStartX>0) {
- int start = (int) Math.max(16-plotMinX-pathsize+1,16-roadStartX+1);
- int end = (int) Math.min(16-plotMinX-1,16-roadStartX+pathsize);
- if (start>=0 && start<=16 && end <0)
- end = 16;
- setCuboidRegion(Math.max(start,0), Math.min(16,end), 1, roadheight+1, 0, 16, floor1);
- }
-
-// Plot filling (28/28 cuboids) (10x2 + 4x2)
- if (plotsize>16) {
- if (roadStartX<=16) {
- if (roadStartZ<=16) {
- setCuboidRegion(0, 16-roadStartX, 1, plotheight, 0, 16-roadStartZ, getFilling(random));
- setCuboidRegion(0, 16-roadStartX, plotheight, plotheight+1, 0, 16-roadStartZ, getPlotFloor(random));
- }
- if (plotMinZ<=16) {
- setCuboidRegion(0, 16-roadStartX, 1, plotheight, 16-plotMinZ, 16, getFilling(random));
- setCuboidRegion(0, 16-roadStartX, plotheight, plotheight+1, 16-plotMinZ, 16, getPlotFloor(random));
- }
- }
- else {
- if (roadStartZ<=16) {
- if (plotMinX>16) {
- setCuboidRegion(0, 16, 1, plotheight, 0, 16-roadStartZ, getFilling(random));
- setCuboidRegion(0, 16, plotheight, plotheight+1, 0, 16-roadStartZ, getPlotFloor(random));
- }
- }
- }
- if (plotMinX<=16) {
- if (plotMinZ<=16) {
- setCuboidRegion(16-plotMinX, 16, 1, plotheight, 16-plotMinZ, 16, getFilling(random));
- setCuboidRegion(16-plotMinX, 16, plotheight, plotheight+1, 16-plotMinZ, 16, getPlotFloor(random));
- }
- else {
- int z = (int) (16-roadStartZ);
- if (z<0)
- z=16;
- setCuboidRegion(16-plotMinX, 16, 1, plotheight, 0, z, getFilling(random));
- setCuboidRegion(16-plotMinX, 16, plotheight, plotheight+1, 0, z, getPlotFloor(random));
- }
- if (roadStartZ<=16) {
- setCuboidRegion(16-plotMinX, 16, 1, plotheight, 0, 16-roadStartZ, getFilling(random));
- setCuboidRegion(16-plotMinX, 16, plotheight, plotheight+1, 0, 16-roadStartZ, getPlotFloor(random));
- }
- else {
- if (roadStartX<=16) {
- if (plotMinZ>16) {
- int x = (int) (16-roadStartX);
- if (x<0)
- x=16;
- setCuboidRegion(0, x, 1, plotheight, 0, 16, getFilling(random));
- setCuboidRegion(0, x, plotheight,plotheight+1, 0, 16, getPlotFloor(random));
- }
- }
- }
- }
- else {
- if (plotMinZ<=16) {
- if (roadStartX>16) {
- int x = (int) (16-roadStartX);
- if (x<0)
- x=16;
- setCuboidRegion(0, x, 1, plotheight, 16-plotMinZ, 16, getFilling(random));
- setCuboidRegion(0, x, plotheight, plotheight+1, 16-plotMinZ, 16, getPlotFloor(random));
- }
- }
- else {
- if (roadStartZ>16) {
- int x = (int) (16-roadStartX);
- if (x<0)
- x=16;
- int z = (int) (16-roadStartZ);
- if (z<0)
- z=16;
- if (roadStartX>16) {
- setCuboidRegion(0, x, 1, plotheight, 0, z, getFilling(random));
- setCuboidRegion(0, x, plotheight, plotheight+1, 0, z, getPlotFloor(random));
- }
- else {
- setCuboidRegion(0, x, 1, plotheight, 0, z, getFilling(random));
- setCuboidRegion(0, x, plotheight, plotheight+1, 0, z, getPlotFloor(random));
- }
- }
- }
- }
- }
- else {
- if (roadStartX<=16) {
- if (roadStartZ<=16) {
- setCuboidRegion(0, 16-roadStartX, 1, plotheight, 0, 16-roadStartZ, getFilling(random));
- setCuboidRegion(0, 16-roadStartX, plotheight, plotheight+1, 0, 16-roadStartZ, getPlotFloor(random));
- }
- if (plotMinZ<=16) {
- setCuboidRegion(0, 16-roadStartX, 1, plotheight, 16-plotMinZ, 16, getFilling(random));
- setCuboidRegion(0, 16-roadStartX, plotheight, plotheight+1, 16-plotMinZ, 16, getPlotFloor(random));
- }
- }
- if (plotMinX<=16) {
- if (plotMinZ<=16) {
- setCuboidRegion(16-plotMinX, 16, 1, plotheight, 16-plotMinZ, 16, getFilling(random));
- setCuboidRegion(16-plotMinX, 16, plotheight, plotheight+1, 16-plotMinZ, 16, getPlotFloor(random));
- }
- if (roadStartZ<=16) {
- setCuboidRegion(16-plotMinX, 16, 1, plotheight, 0, 16-roadStartZ, getFilling(random));
- setCuboidRegion(16-plotMinX, 16, plotheight, plotheight+1, 0, 16-roadStartZ, getPlotFloor(random));
- }
- }
- }
-
- // WALLS (16/16 cuboids)
-
- if (plotMinZ+1<=16) {
- double start,end;
- if (plotMinX+2<=16)
- start = 16-plotMinX-1;
- else
- start = 16;
- if (roadStartX-1<=16)
- end = 16-roadStartX+1;
- else
- end = 0;
- if (!(plotMinX+2<=16||roadStartX-1<=16)) {
- start = 0;
- }
- setCuboidRegion(0, end, 1, wallheight+1, 16-plotMinZ-1, 16-plotMinZ, wallfilling);
- setCuboidRegion(0, end, wallheight+1, wallheight+2, 16-plotMinZ-1, 16-plotMinZ, wall);
- setCuboidRegion(start, 16, 1, wallheight+1, 16-plotMinZ-1, 16-plotMinZ, wallfilling);
- setCuboidRegion(start, 16, wallheight+1, wallheight+2, 16-plotMinZ-1, 16-plotMinZ, wall);
- }
- if (plotMinX+1<=16) {
- double start,end;
- if (plotMinZ+2<=16)
- start = 16-plotMinZ-1;
- else
- start = 16;
- if (roadStartZ-1<=16)
- end = 16-roadStartZ+1;
- else
- end = 0;
- if (!(plotMinZ+2<=16||roadStartZ-1<=16)) {
- start = 0;
- }
- setCuboidRegion( 16-plotMinX-1, 16-plotMinX, 1, wallheight+1,0, end, wallfilling);
- setCuboidRegion( 16-plotMinX-1, 16-plotMinX,wallheight+1, wallheight+2, 0, end, wall);
- setCuboidRegion(16-plotMinX-1, 16-plotMinX, 1, wallheight+1, start, 16, wallfilling);
- setCuboidRegion( 16-plotMinX-1, 16-plotMinX, wallheight+1, wallheight+2,start, 16, wall);
- }
- if (roadStartZ<=16&&roadStartZ>0) {
- double start,end;
- if (plotMinX+1<=16)
- start = 16-plotMinX;
- else
- start = 16;
- if (roadStartX<=16)
- end = 16-roadStartX;
- else
- end = 0;
- if (!(plotMinX+1<=16||roadStartX<=16)) {
- start = 0;
- }
- setCuboidRegion(0, end, 1, wallheight+1, 16-roadStartZ, 16-roadStartZ+1, wallfilling);
- setCuboidRegion(0, end, wallheight+1, wallheight+2, 16-roadStartZ, 16-roadStartZ+1, wall);
- setCuboidRegion(start, 16, 1, wallheight+1, 16-roadStartZ, 16-roadStartZ+1, wallfilling);
- setCuboidRegion(start, 16, wallheight+1, wallheight+2, 16-roadStartZ, 16-roadStartZ+1, wall);
- }
- if (roadStartX<=16&&roadStartX>0) {
- double start,end;
- if (plotMinZ+1<=16)
- start = 16-plotMinZ;
- else
- start = 16;
- if (roadStartZ+1<=16)
- end = 16-roadStartZ+1;
- else
- end = 0;
- if (!(plotMinZ+1<=16||roadStartZ+1<=16)) {
- start = 0;
- }
- setCuboidRegion( 16-roadStartX, 16-roadStartX+1, 1, wallheight+1,0, end, wallfilling);
- setCuboidRegion( 16-roadStartX, 16-roadStartX+1,wallheight+1, roadheight+2,0, end, wall);
- setCuboidRegion( 16-roadStartX, 16-roadStartX+1, 1, wallheight+1, start, 16,wallfilling);
- setCuboidRegion( 16-roadStartX, 16-roadStartX+1,wallheight+1, wallheight+2, start, 16, wall);
- }
- return result;
- }
-
-
-
-
-
- @SuppressWarnings({ "deprecation", "unused" })
- private void setBlock(short[][] result, int x, int y, int z,
- Material material) {
- setBlock(result, x, y, z, (short) material.getId());
-
- }
-
- private void setBlock(short[][] result, int x, int y, int z, short blkid) {
- if (result[y >> 4] == null) {
- result[y >> 4] = new short[4096];
- }
- result[y >> 4][((y & 0xF) << 8) | (z << 4) | x] = blkid;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/XPopulator.java b/src/com/intellectualcrafters/plot/XPopulator.java
deleted file mode 100644
index 650694106..000000000
--- a/src/com/intellectualcrafters/plot/XPopulator.java
+++ /dev/null
@@ -1,213 +0,0 @@
-package com.intellectualcrafters.plot;
-
-import org.bukkit.Bukkit;
-import org.bukkit.Chunk;
-import org.bukkit.World;
-import org.bukkit.generator.BlockPopulator;
-
-import java.util.Random;
-
-/**
- * TODO recode this class
- * Fuck you PlotMe!
- * @author Citymonstret
- *
- */
-public class XPopulator extends BlockPopulator {
- private SetBlockFast setBlockClass = null;
- public XPopulator() {
- try {
- setBlockClass = new SetBlockFast();
- }
- catch (NoClassDefFoundError e) {
- PlotMain.sendConsoleSenderMessage(C.PREFIX.s() + "&cFast plot clearing is currently not enabled.");
- PlotMain.sendConsoleSenderMessage(C.PREFIX.s() + "&c - Please get PlotSquared for "+Bukkit.getVersion()+" for improved performance");
- }
- }
-
- public void setCuboidRegion(int x1,int x2, int y1, int y2, int z1, int z2, short id, byte data, World w) {
- if (data!=0) {
- for (int x = x1; x < x2; x++) {
- for (int z = z1; z < z2; z++) {
- for (int y = y1; y < y2; y++) {
- if (w.getBlockTypeIdAt(x, y, z)==id)
- setBlock(w, x, y, z, id, data);
- }
- }
- }
- }
- }
-
- public short[] getBlock(String block) {
- if (block.contains(":")) {
- String[] split = block.split(":");
- return new short[] {Short.parseShort(split[0]),Short.parseShort(split[1])};
- }
- return new short[] {Short.parseShort(block),0};
- }
-
- @Override
- public void populate(World w, Random r, Chunk c) {
- PlotWorld plotworld = PlotMain.getWorldSettings(w);
-
- int plotsize = plotworld.PLOT_WIDTH;
- int pathsize = plotworld.ROAD_WIDTH;
- int wallheight = plotworld.WALL_HEIGHT;
- int roadheight = plotworld.ROAD_HEIGHT;
- int plotheight = plotworld.PLOT_HEIGHT;
- int size = pathsize + plotsize;
- byte w_v, f1_v, wf_v;
-
- short w_id, f1_id, wf_id;
-
- // WALL
- short[] result_w = getBlock(plotworld.WALL_BLOCK);
- w_id = result_w[0];
- w_v = (byte) result_w[1];
-
- // WALL FILLING
- short[] result_wf = getBlock(plotworld.WALL_FILLING);
- wf_id = result_wf[0];
- wf_v = (byte) result_wf[1];
-
- // ROAD
- short[] result_f1 = getBlock(plotworld.ROAD_BLOCK);
- f1_id = result_f1[0];
- f1_v = (byte) result_f1[1];
- //
-
- // Floor 2
-// f2_id = (short) Settings.ROAD_STRIPES;
-// f2_v = (byte) Settings.ROAD_STRIPES_DATA;
- //
-
- int cx = c.getX(), cz = c.getZ();
-
- double pathWidthLower;
- pathWidthLower = Math.floor(pathsize/2);
- if (cx<0)
- cx+=((-cx)*(size));
- if (cz<0)
- cz+=((-cz)*(size));
- double absX = (cx*16+16-pathWidthLower-1+8*size);
- double absZ = (cz*16+16-pathWidthLower-1+8*size);
- int plotMinX = (int) (((absX)%size));
- int plotMinZ = (int) (((absZ)%size));
- int roadStartX = (plotMinX + pathsize);
- int roadStartZ = (plotMinZ + pathsize);
- if (roadStartX>=size)
- roadStartX-=size;
- if (roadStartZ>=size)
- roadStartZ-=size;
-
- // ROADS
-
- if (plotMinZ+1<=16||roadStartZ<=16&&roadStartZ>0) {
- int start = (int) Math.max(16-plotMinZ-pathsize+1,16-roadStartZ+1);
- int end = (int) Math.min(16-plotMinZ-1,16-roadStartZ+pathsize);
- if (start>=0 && start<=16 && end <0)
- end = 16;
- setCuboidRegion(0, 16, 1, roadheight+1, Math.max(start,0),Math.min(16,end), f1_id, f1_v, w);
- }
- if (plotMinX+1<=16||roadStartX<=16&&roadStartX>0) {
- int start = (int) Math.max(16-plotMinX-pathsize+1,16-roadStartX+1);
- int end = (int) Math.min(16-plotMinX-1,16-roadStartX+pathsize);
- if (start>=0 && start<=16 && end <0)
- end = 16;
- setCuboidRegion(Math.max(start,0), Math.min(16,end), 1, roadheight+1, 0, 16, f1_id, f1_v, w);
- }
-
- // WALLS
-
- if (plotMinZ+1<=16) {
- int start,end;
- if (plotMinX+2<=16)
- start = 16-plotMinX-1;
- else
- start = 16;
- if (roadStartX-1<=16)
- end = 16-roadStartX+1;
- else
- end = 0;
- if (!(plotMinX+2<=16||roadStartX-1<=16)) {
- start = 0;
- }
- setCuboidRegion(0, end, 1, wallheight+1, 16-plotMinZ-1, 16-plotMinZ, wf_id, wf_v, w);
- setCuboidRegion(0, end, wallheight+1, wallheight+2, 16-plotMinZ-1, 16-plotMinZ, w_id, w_v, w);
- setCuboidRegion(start, 16, 1, wallheight+1, 16-plotMinZ-1, 16-plotMinZ, wf_id, wf_v, w);
- setCuboidRegion(start, 16, wallheight+1, wallheight+2, 16-plotMinZ-1, 16-plotMinZ, w_id, w_v, w);
- }
- if (plotMinX+1<=16) {
- int start,end;
- if (plotMinZ+2<=16)
- start = 16-plotMinZ-1;
- else
- start = 16;
- if (roadStartZ-1<=16)
- end = 16-roadStartZ+1;
- else
- end = 0;
- if (!(plotMinZ+2<=16||roadStartZ-1<=16)) {
- start = 0;
- }
- setCuboidRegion( 16-plotMinX-1, 16-plotMinX, 1, wallheight+1,0, end, wf_id, wf_v, w);
- setCuboidRegion( 16-plotMinX-1, 16-plotMinX,wallheight+1, wallheight+2, 0, end, w_id, w_v, w);
- setCuboidRegion(16-plotMinX-1, 16-plotMinX, 1, wallheight+1, start, 16, wf_id, wf_v, w);
- setCuboidRegion( 16-plotMinX-1, 16-plotMinX, wallheight+1, wallheight+2,start, 16, w_id, w_v, w);
- }
- if (roadStartZ<=16&&roadStartZ>0) {
- int start,end;
- if (plotMinX+1<=16)
- start = 16-plotMinX;
- else
- start = 16;
- if (roadStartX<=16)
- end = 16-roadStartX;
- else
- end = 0;
- if (!(plotMinX+1<=16||roadStartX<=16)) {
- start = 0;
- }
- setCuboidRegion(0, end, 1, wallheight+1, 16-roadStartZ, 16-roadStartZ+1, wf_id, wf_v, w);
- setCuboidRegion(0, end, wallheight+1, wallheight+2, 16-roadStartZ, 16-roadStartZ+1, w_id, w_v, w);
- setCuboidRegion(start, 16, 1, wallheight+1, 16-roadStartZ, 16-roadStartZ+1, wf_id, wf_v, w);
- setCuboidRegion(start, 16, wallheight+1, wallheight+2, 16-roadStartZ, 16-roadStartZ+1, w_id, w_v, w);
- }
- if (roadStartX<=16&&roadStartX>0) {
- int start,end;
- if (plotMinZ+1<=16)
- start = 16-plotMinZ;
- else
- start = 16;
- if (roadStartZ+1<=16)
- end = 16-roadStartZ+1;
- else
- end = 0;
- if (!(plotMinZ+1<=16||roadStartZ+1<=16)) {
- start = 0;
- }
- setCuboidRegion( 16-roadStartX, 16-roadStartX+1, 1, wallheight+1,0, end, wf_id, wf_v, w);
- setCuboidRegion( 16-roadStartX, 16-roadStartX+1,wallheight+1, roadheight+2,0, end, w_id, w_v, w);
- setCuboidRegion( 16-roadStartX, 16-roadStartX+1, 1, wallheight+1, start, 16,wf_id, wf_v, w);
- setCuboidRegion( 16-roadStartX, 16-roadStartX+1,wallheight+1, wallheight+2, start, 16, w_id, w_v, w);
- }
-
- // TODO PLOT MAIN - How are we going to do the IDs for the actual plot if we have randomized blocks...
- // - possibly on plot claiming, we could regenerate using the xpopulator
- }
-
- @SuppressWarnings("deprecation")
- private void setBlock(World w, int x, int y, int z, short id, byte val) {
- if (setBlockClass!=null) {
- setBlockClass.set(w, x, y, z, id, val);
- }
- else {
- if (val != 0) {
- w.getBlockAt(x, y, z).setTypeIdAndData(id, val, false);
- } else {
- w.getBlockAt(x, y, z).setTypeId(id);
- }
- }
- }
-
-}
diff --git a/src/com/intellectualcrafters/plot/api/PlotAPI.java b/src/com/intellectualcrafters/plot/api/PlotAPI.java
deleted file mode 100644
index 5c7445f66..000000000
--- a/src/com/intellectualcrafters/plot/api/PlotAPI.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = PlotAPI.java
- * >> Generated by: Citymonstret at 2014-08-09 01:44
- */
-
-package com.intellectualcrafters.plot.api;
-
-import com.intellectualcrafters.plot.*;
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.World;
-import org.bukkit.entity.Player;
-import org.bukkit.plugin.java.JavaPlugin;
-
-import com.intellectualcrafters.plot.PlotMain;
-import com.intellectualcrafters.plot.commands.MainCommand;
-import com.intellectualcrafters.plot.commands.SubCommand;
-
-import java.util.ArrayList;
-import java.util.Set;
-
-/**
- * The plotMain api class.
- * @author Citymonstret
- */
-@SuppressWarnings({"unused", "javadoc"})
-public class PlotAPI {
-
- //To perform bukkit operations correctly.
- private JavaPlugin plugin;
- //To access plotMain stuffz.
- private PlotMain plotMain;
- //To access the plotworld.
- private World plotWorld;
- //Reference
- public static final String ADMIN_PERMISSION = "plots.admin";
-
-
- /**
- * Constructor. Insert any Plugin.
- * @param plugin
- */
- public PlotAPI(JavaPlugin plugin) {
- this.plugin = plugin;
- this.plotMain = JavaPlugin.getPlugin(PlotMain.class);
- }
-
- /**
- * Send a message to a player.
- * @param player
- * @param c (Caption)
- */
- public void sendMessage(Player player, C c){
- PlayerFunctions.sendMessage(player, c);
- }
-
- /**
- * Send a message to a player.
- * @param player
- * @param string
- */
- public void sendMessage(Player player, String string) {
- PlayerFunctions.sendMessage(player, string);
- }
-
- /**
- * Send a message to the console.
- * @param msg
- */
- public void sendConsoleMessage(String msg) {
- PlotMain.sendConsoleSenderMessage(msg);
- }
-
- /**
- * Send a message to the console
- * @param c (Caption)
- */
- public void sendConsoleMessage(C c) {
- sendConsoleMessage(c.s());
- }
-
- /**
- * Get a plot based on the ID
- * @param id
- * @return plot, null if ID is wrong
- */
- public Plot getPlot(World world, int x, int z) {
- return PlotHelper.getPlot(world, new PlotId(x, z));
- }
-
- /**
- * Get a plot based on the location
- * @param l
- * @return plot if found, otherwise it creates a temporary plot-
- */
- public Plot getPlot(Location l) {
- return PlotHelper.getCurrentPlot(l);
- }
-
- /**
- * Get a plot based on the player location
- * @param player
- * @return plot if found, otherwise it creates a temporary plot
- */
- public Plot getPlot(Player player) {
- return this.getPlot(player.getLocation());
- }
-
- /**
- * Check whether or not a player has a plot
- * @param player
- * @return true if player has a plot, false if not.
- */
- public boolean hasPlot(World world, Player player) {
- return getPlots(world, player, true) != null && getPlots(world, player, true).length > 0;
- }
-
- /**
- * Get all plots for the player
- * @param plr to search for
- * @param just_owner should we just search for owner? Or with rights?
- */
- public Plot[] getPlots(World world, Player plr, boolean just_owner) {
- ArrayList pPlots = new ArrayList<>();
- for(Plot plot : PlotMain.getPlots(world).values()) {
- if(just_owner) {
- if(plot.owner != null && plot.owner == plr.getUniqueId()) {
- pPlots.add(plot);
- }
- } else {
- if(plot.hasRights(plr)) {
- pPlots.add(plot);
- }
- }
- }
- return (Plot[]) pPlots.toArray();
- }
- /**
- * Get all plots for the world
- * @param World to get plots of
- * @return Plot[] - array of plot objects in world
- */
- public Plot[] getPlots(World world) {
- return PlotMain.getWorldPlots(world);
- }
- /**
- * Get all plot worlds
- * @return World[] - array of plot worlds
- */
- public World[] getPlotWorlds() {
- return PlotMain.getPlotWorlds();
- }
- /**
- * Get if plot world
- * @param world (to check if plot world)
- * @return boolean (if plot world or not)
- */
- public boolean isPlotWorld(World world) {
- for (World w:PlotMain.getPlotWorlds()) {
- if (w.equals(world))
- return true;
- }
- return false;
- }
- /**
- * Get the settings for a world (settings bundled in PlotWorld class)
- * @param world (to get settings of)
- * @return PlotWorld class for ther world
- * ! will return null if not a plot world
- */
- public PlotWorld getWorldSettings(World world) {
- return PlotMain.getWorldSettings(world);
- }
-
- /**
- * Get plot locations
- * @param p
- * @return [0] = bottomLc, [1] = topLoc, [2] = home
- */
- public Location[] getLocations(Plot p) {
- World world = Bukkit.getWorld(p.world);
- return new Location[] {
- PlotHelper.getPlotBottomLoc(world, p.id),
- PlotHelper.getPlotTopLoc(world, p.id),
- PlotHelper.getPlotHome(world, p.id)
- };
- }
-
- /**
- * Get home location
- * @param p
- * @return plot bottom location
- */
- public Location getHomeLocation(Plot p) {
- return PlotHelper.getPlotHome(getPlotWorld(), p.id);
- }
-
- /**
- * Get Bottom Location
- * @param p
- * @return plot bottom location
- */
- public Location getBottomLocation(Plot p){
- World world = Bukkit.getWorld(p.world);
- return PlotHelper.getPlotBottomLoc(world, p.id);
- }
-
- /**
- * Get Top Location
- * @param p
- * @return plot top location
- */
- public Location getTopLocation(Plot p){
- World world = Bukkit.getWorld(p.world);
- return PlotHelper.getPlotTopLoc(world, p.id);
- }
-
- /**
- * Check whether or not a player is in a plot
- * @param player
- * @return true if the player is in a plot, false if not-
- */
- public boolean isInPlot(Player player) {
- return PlayerFunctions.isInPlot(player);
- }
-
- /**
- * Register a subcommand
- * @param c
- */
- public void registerCommand(SubCommand c) {
- MainCommand.subCommands.add(c);
- }
-
- /**
- * Get the plotworld object
- * @return PlotWorld
- */
- public World getPlotWorld() {
- return this.plotWorld;
- }
-
- /**
- * Get the plotMain class
- * @return PlotMain Class
- */
- public PlotMain getPlotMain() {
- return this.plotMain;
- }
-
- /**
- * Get the inserted plugin
- * @return Plugin.
- * @deprecated
- */
- @SuppressWarnings("unused")
- private JavaPlugin getPlugin() {
- return this.plugin;
- }
-
- /**
- * Get the player plot count
- * @param player
- * @return
- */
- public int getPlayerPlotCount(World world, Player player) {
- return PlayerFunctions.getPlayerPlotCount(world, player);
- }
-
- /**
- * Get a players plots
- * @param player
- * @return a set containing the players plots
- */
- public Set getPlayerPlots(World world, Player player) {
- return PlayerFunctions.getPlayerPlots(world, player);
- }
-
- /**
- * Get the allowed plot count for a player
- * @param player
- * @return the number of allowed plots
- */
- public int getAllowedPlots(Player player) {
- return PlayerFunctions.getAllowedPlots(player);
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Auto.java b/src/com/intellectualcrafters/plot/commands/Auto.java
deleted file mode 100644
index a00842470..000000000
--- a/src/com/intellectualcrafters/plot/commands/Auto.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Auto.java
- * >> Generated by: Citymonstret at 2014-08-09 01:40
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.C;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.Plot;
-import com.intellectualcrafters.plot.PlotHelper;
-import com.intellectualcrafters.plot.PlotId;
-import com.intellectualcrafters.plot.PlotMain;
-
-import org.bukkit.World;
-import org.bukkit.entity.Player;
-
-@SuppressWarnings("deprecation")
-public class Auto extends SubCommand {
-
- public Auto() {
- super("auto", "plots.auto", "Claim the nearest plot", "auto", "a", CommandCategory.CLAIMING);
- }
-
- public boolean execute(Player plr, String ... args) {
- World world;
- if (PlotMain.getPlotWorlds().length==1)
- world = PlotMain.getPlotWorlds()[0];
- else {
- if (PlotMain.isPlotWorld(plr.getWorld()))
- world = plr.getWorld();
- else {
- PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT_WORLD);
- return true;
- }
-
- }
- if(PlayerFunctions.getPlayerPlotCount(world, plr) >= PlayerFunctions.getAllowedPlots(plr)) {
- PlayerFunctions.sendMessage(plr, C.CANT_CLAIM_MORE_PLOTS);
- return true;
- }
- boolean br = false;
- int x = 0, z = 0, q = 100;
- PlotId id;
- while(!br) {
- id = new PlotId(x,z);
- if(PlotHelper.getPlot(world, id).owner == null) {
- Plot plot = PlotHelper.getPlot(world, id);
- Claim.claimPlot(plr, plot, true);
- br = true;
- }
- if(z < q && (z - x) < q) {
- z++;
- } else if(x < q) {
- x++;
- z = q - 100;
- } else {
- q += 100;
- x = q;
- z = q;
- }
- }
- return true;
- }
-
-}
-
diff --git a/src/com/intellectualcrafters/plot/commands/Camera.java b/src/com/intellectualcrafters/plot/commands/Camera.java
deleted file mode 100644
index bbd70c3a5..000000000
--- a/src/com/intellectualcrafters/plot/commands/Camera.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package com.intellectualcrafters.plot.commands;
-
-import ca.mera.CameraAPI;
-import ca.mera.CameraController;
-import ca.mera.events.TravelEndEvent;
-import com.intellectualcrafters.plot.*;
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.World;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-
-import java.util.ArrayList;
-
-/**
- * Created by Citymonstret on 2014-08-15.
- */
-public class Camera extends SubCommand implements Listener {
-
- private CameraAPI api;
- public Camera() {
- super("camera", "plots.camera", "Go into camera mode", "camera", "c", CommandCategory.TELEPORT);
- api = CameraAPI.getInstance();
- travelers = new ArrayList();
- }
-
- private ArrayList travelers;
-
- @Override
- public boolean execute(Player player, String ... args) {
- if(!PlayerFunctions.isInPlot(player)) {
- PlayerFunctions.sendMessage(player, C.NOT_IN_PLOT);
- return false;
- }
- api = CameraAPI.getInstance();
- Plot plot = PlotHelper.getCurrentPlot(player.getLocation());
- if(api.isTravelling(player)) {
- api.stopTravel(player);
- PlayerFunctions.sendMessage(player, C.CAMERA_STOPPED);
- return true;
- }
- api.travel(getController(player, plot));
- PlayerFunctions.sendMessage(player, C.CAMERA_STARTED, plot.getId().x+";"+plot.getId().y);
- travelers.add(player.getName());
- return true;
- }
-
- @EventHandler
- public void onTravelEnded(TravelEndEvent event) {
- if(travelers.contains(event.getPlayer().getName())) {
-
- travelers.remove(event.getPlayer().getName());
- PlayerFunctions.sendMessage(event.getPlayer(), C.CAMERA_STOPPED);
- }
- if(travelers.contains(event.getPlayer().getName())) {
- event.getHandlers().bake();
- }
- }
-
- public CameraController getController(Player player, Plot plot) {
- World w = Bukkit.getWorld(plot.world);
- PlotWorld plotworld = PlotMain.getWorldSettings(w);
- int seconds = plotworld.PLOT_WIDTH * 5;
- Location loc1, loc2, loc3, loc4, loc5;
- double y = player.getLocation().getY();
- Location bottomLoc = PlotHelper.getPlotBottomLoc(w, plot.id);
- Location topLoc = PlotHelper.getPlotTopLoc(w, plot.id );
- World world = bottomLoc.getWorld();
- int maxX = Math.max(bottomLoc.getBlockX(), topLoc.getBlockX());
- int maxZ = Math.max(bottomLoc.getBlockZ(), topLoc.getBlockZ());
- int minX = Math.min(bottomLoc.getBlockX(), topLoc.getBlockX());
- int minZ = Math.min(bottomLoc.getBlockZ(), topLoc.getBlockZ());
- loc1 = new Location(world, maxX, y, maxZ);
- loc2 = new Location(world, maxX, y, minZ);
- loc3 = new Location(world, minX, y, minZ);
- loc4 = new Location(world, minX, y, maxZ);
- loc1.setYaw((3 / 4.0F * 360.0F) - 0.5F);
- loc3.setYaw((1 / 4.0F * 360.0F) - 0.5F);
- loc4.setYaw((2 / 4.0F * 360.0F) - 0.5F);
- loc2.setYaw((0 / 4.0F * 360.0F) - 0.5F);
- loc5 = loc1.clone();
- CameraController controller = api.createController(player, seconds, loc1, loc2, loc3, loc4, loc5);
- return controller;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Claim.java b/src/com/intellectualcrafters/plot/commands/Claim.java
deleted file mode 100644
index 7f732a3e4..000000000
--- a/src/com/intellectualcrafters/plot/commands/Claim.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Claim.java
- * >> Generated by: Citymonstret at 2014-08-09 01:41
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.*;
-import com.intellectualcrafters.plot.events.PlayerClaimPlotEvent;
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
-
-/**
- *
- * @author Citymonstret
- *
- */
-public class Claim extends SubCommand{
-
- public Claim() {
- super(Command.CLAIM, "Claim the current plot you're standing on.", "claim", CommandCategory.CLAIMING);
- }
-
- @Override
- public boolean execute(Player plr, String ... args) {
- if(!PlayerFunctions.isInPlot(plr)) {
- PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT);
- return true;
- }
- if(PlayerFunctions.getPlayerPlotCount(plr.getWorld() , plr) >= PlayerFunctions.getAllowedPlots(plr)) {
- PlayerFunctions.sendMessage(plr, C.CANT_CLAIM_MORE_PLOTS);
- return true;
- }
- Plot plot = PlayerFunctions.getCurrentPlot(plr);
- if(plot.hasOwner()) {
- PlayerFunctions.sendMessage(plr, C.PLOT_IS_CLAIMED);
- return false;
- }
- claimPlot(plr, plot, false);
- return true;
- }
-
-
- public static boolean claimPlot(Player player, Plot plot, boolean teleport) {
- PlayerClaimPlotEvent event = new PlayerClaimPlotEvent(player, plot);
- Bukkit.getPluginManager().callEvent(event);
- if(!event.isCancelled()) {
- PlotHelper.createPlot(player, plot);
- PlotHelper.setSign(player, plot);
- PlayerFunctions.sendMessage(player, C.CLAIMED);
- if(teleport) {
- PlotMain.teleportPlayer(player, player.getLocation(), plot);
- }
- }
- return event.isCancelled();
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Clear.java b/src/com/intellectualcrafters/plot/commands/Clear.java
deleted file mode 100644
index f296ad252..000000000
--- a/src/com/intellectualcrafters/plot/commands/Clear.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Clear.java
- * >> Generated by: Citymonstret at 2014-08-09 01:41
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.database.DBFunc;
-import com.intellectualcrafters.plot.PlotMain;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.Plot;
-import org.bukkit.entity.Player;
-
-/**
- * Created by Citymonstret on 2014-08-01.
- */
-public class Clear extends SubCommand {
-
- public Clear() {
- super(Command.CLEAR, "Clear a plot", "clear", CommandCategory.ACTIONS);
- }
- @Override
- public boolean execute(Player plr, String ... args) {
- if(!PlayerFunctions.isInPlot(plr)) {
- PlayerFunctions.sendMessage(plr, "You're not in a plot.");
- return true;
- }
- Plot plot = PlayerFunctions.getCurrentPlot(plr);
- DBFunc.delete(plr.getWorld().getName(), plot);
- PlotMain.removePlot(plr.getWorld().getName(), plot.id);
- plot.clear(plr);
- return true;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Command.java b/src/com/intellectualcrafters/plot/commands/Command.java
deleted file mode 100644
index fe224390b..000000000
--- a/src/com/intellectualcrafters/plot/commands/Command.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Command.java
- * >> Generated by: Citymonstret at 2014-08-09 01:41
- */
-
-package com.intellectualcrafters.plot.commands;
-
-/**
- * Created by Citymonstret on 2014-08-03.
- * @author Citymonstret
- */
-public enum Command {
- /**
- *
- */
- HELPERS("helpers", "hp"),
- /**
- *
- */
- DENIED("denied", "dn"),
- /**
- *
- */
- CLAIM("claim", "c"),
- /**
- *
- */
- CLEAR("clear", "delete", new CommandPermission("plots.admin")),
- /**
- *
- */
- DEBUG("debug", "database", new CommandPermission("plots.admin")),
- /**
- *
- */
- HOME("home", "h"),
- /**
- *
- */
- INFO("info", "i"),
- /**
- *
- */
- LIST("list", "l"),
- /**
- *
- */
- SET("set", "s"),
- /**
- *
- */
- TP("tp", "tp");
- /**
- *
- */
- private String command;
- /**
- *
- */
- private String alias;
- /**
- *
- */
- private CommandPermission permission;
-
- /**
- *
- * @param command
- */
- Command(String command) {
- this.command = command;
- this.alias = command;
- this.permission = new CommandPermission("plots." + command);
- }
-
- /**
- *
- * @param command
- * @param permission
- */
- Command(String command, CommandPermission permission) {
- this.command = command;
- this.permission = permission;
- this.alias = command;
- }
-
- /**
- *
- * @param command
- * @param alias
- */
- Command(String command, String alias) {
- this.command = command;
- this.alias = alias;
- this.permission = new CommandPermission("plots." + command);
- }
-
- /**
- *
- * @param Command
- * @param alias
- * @param permission
- */
- Command(String command, String alias, CommandPermission permission) {
- this.command = command;
- this.alias = alias;
- this.permission = permission;
- }
-
- /**
- *
- * @return
- */
- public String getCommand() {
- return this.command;
- }
-
- /**
- *
- * @return
- */
- public String getAlias() {
- return this.alias;
- }
-
- /**
- *
- * @return
- */
- public CommandPermission getPermission(){
- return this.permission;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/CommandPermission.java b/src/com/intellectualcrafters/plot/commands/CommandPermission.java
deleted file mode 100644
index 20b6733d4..000000000
--- a/src/com/intellectualcrafters/plot/commands/CommandPermission.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = CommandPermission.java
- * >> Generated by: Citymonstret at 2014-08-09 01:41
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import org.bukkit.entity.Player;
-
-/**
- * Created by Citymonstret on 2014-08-03.
- * @author Citymonstret
- */
-public class CommandPermission {
-
- /**
- *
- */
- private String permission;
-
- /**
- * @param permission
- */
- public CommandPermission(String permission) {
- this.permission = permission.toLowerCase();
- }
-
- /**
- *
- * @param player
- * @return
- */
- public boolean hasPermission(Player player) {
- return player.hasPermission(this.permission) || player.hasPermission("plots.admin");
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Debug.java b/src/com/intellectualcrafters/plot/commands/Debug.java
deleted file mode 100644
index d47acabce..000000000
--- a/src/com/intellectualcrafters/plot/commands/Debug.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Debug.java
- * >> Generated by: Citymonstret at 2014-08-09 01:41
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.*;
-
-import org.bukkit.World;
-import org.bukkit.entity.Player;
-
-/**
- * @author Citymonstret
- * \\SuperCharged Compiler made by Citymonstret\\
- * ||#Compiler:ALPHA-1.0#########################
- * ||#ST:Java(1.7.*)\impl(bukkit)->api(s[])######
- * ||#Section:\Debug\############################
- * ||##Debug->Debug.properties|Debug.txt#########
- * ||############################################
- * ||#Signed By:Citymonstret@IC##################
- * \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
- */
-public class Debug extends SubCommand{
-
- //private extends SubCommand^Implements {Command, Information} from >>\\S.txt6\\
- public Debug() {
- super(Command.DEBUG, "Show debug information", "debug [msg]", CommandCategory.INFO);
- {
- /**
- * This.
- */
- }
- }
-
- @Override
- public boolean execute(Player plr, String ... args) {
- PlotWorld plotworld = PlotMain.getWorldSettings(plr.getWorld());
- if(args.length > 0 && args[0].equalsIgnoreCase("msg")) {
- StringBuilder msg = new StringBuilder();
- for(C c : C.values()) {
- msg.append(c.s() + "\n");
- }
- PlayerFunctions.sendMessage(plr, msg.toString());
- return true;
- }
- StringBuilder information;
- String header, line, section;
- /**
- * {$notnull || compile:: \\Debug:Captions\\}
- */
- {
- information = new StringBuilder();
- header = C.DEUBG_HEADER.s();
- line = C.DEBUG_LINE.s();
- section = C.DEBUG_SECTION.s();
- }
- /**
- * {||direct:: load: debug::I>Captions::trsl}
- * \\
- * if(missing) set(default) -> this->(){}
- * \\
- * echo line->line(Compiler.cpp -> lineCompiler);
- * when finished: now = this();
- * now(getter)->setter(this())->{
- * "string" = getter(this);
- * setter(string) = getter(this->setter);
- * }
- * when ^ finished compile;
- * if(^compile failed -> |this->failed.|tests->failed.|
- * ||run test {this->test}|on fail(action(){return FAILED})|
- */
- {
- StringBuilder worlds = new StringBuilder("");
- for (World world: PlotMain.getPlotWorlds())
- worlds.append(world.getName()+" ");
- information.append(header);
- information.append(getSection(section, "Lag / TPS"));
- information.append(getLine(line, "Ticks Per Second", Lag.getTPS()));
- information.append(getLine(line, "Lag Percentage", (int) Lag.getPercentage() + "%"));
- information.append(getLine(line, "TPS Percentage", (int) Lag.getFullPercentage() + "%"));
- 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, "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())));
- information.append(getSection(section, "RAM"));
- information.append(getLine(line, "Free Ram", RUtils.getFreeRam() + "MB"));
- information.append(getLine(line, "Total Ram", RUtils.getTotalRam() + "MB"));
- information.append(getSection(section, "Messages"));
- information.append(getLine(line, "Total Messages", C.values().length));
- information.append(getLine(line, "View all captions", "/plot debug msg"));
- }
- /**
- * {function:: SEND_MESSAGE |local player -> plr|local string -> information.toString())}
- */
- {
- PlayerFunctions.sendMessage(plr, information.toString());
- }
- return true;
- }
-
- private String getSection(String line, String val) {
- return line.replaceAll("%val%", val) + "\n";
- }
-
- private String getLine(String line, String var, Object val) {
- return line.replaceAll("%var%", var).replaceAll("%val%", "" + val) + "\n";
- }
-
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Denied.java b/src/com/intellectualcrafters/plot/commands/Denied.java
deleted file mode 100644
index 5d8e21e67..000000000
--- a/src/com/intellectualcrafters/plot/commands/Denied.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Denied.java
- * >> Generated by: Citymonstret at 2014-08-09 01:41
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.C;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.Plot;
-import com.intellectualcrafters.plot.database.DBFunc;
-import com.intellectualcrafters.plot.events.PlayerPlotDeniedEvent;
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.entity.Player;
-
-import java.util.UUID;
-
-/**
- * Created by Citymonstret on 2014-08-03.
- */
-@SuppressWarnings("deprecated")
-public class Denied extends SubCommand{
-
- public Denied() {
- super(Command.DENIED, "Manage plot helpers", "denied {add|remove} {player}", CommandCategory.ACTIONS);
- }
-
- @SuppressWarnings("deprecated")
- private boolean hasBeenOnServer(String name) {
- Player plr;
- if((plr = Bukkit.getPlayer(name)) == null) {
- OfflinePlayer oplr = Bukkit.getOfflinePlayer(name);
- if(oplr == null) return false;
- else return oplr.hasPlayedBefore();
- } else {
- if(plr.isOnline()) return true;
- else return plr.hasPlayedBefore();
- }
- }
-
- public boolean execute(Player plr, String ... args) {
- if(args.length < 2) {
- PlayerFunctions.sendMessage(plr, C.DENIED_NEED_ARGUMENT);
- return true;
- }
- if(!PlayerFunctions.isInPlot(plr)) {
- PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT);
- return true;
- }
- Plot plot = PlayerFunctions.getCurrentPlot(plr);
- if(plot.owner == null || !plot.hasRights(plr)) {
- PlayerFunctions.sendMessage(plr, C.NO_PERMISSION);
- return true;
- }
- if(args[0].equalsIgnoreCase("add")) {
- if(args[1].equalsIgnoreCase("*")) {
- UUID uuid = DBFunc.everyone;
- plot.addDenied(uuid);
- DBFunc.setDenied(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1]));
- PlayerFunctions.sendMessage(plr, C.DENIED_ADDED);
- return true;
- }
- if(!hasBeenOnServer(args[1])) {
- PlayerFunctions.sendMessage(plr, C.PLAYER_HAS_NOT_BEEN_ON);
- return true;
- }
- UUID uuid = null;
- if(Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline())
- uuid = Bukkit.getPlayer(args[1]).getUniqueId();
- else
- uuid = Bukkit.getOfflinePlayer(args[1]).getUniqueId();
- plot.addDenied(uuid);
- DBFunc.setDenied(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1]));
- PlayerPlotDeniedEvent event = new PlayerPlotDeniedEvent(plr, plot, uuid, true);
- Bukkit.getPluginManager().callEvent(event);
- PlayerFunctions.sendMessage(plr, C.DENIED_ADDED);
- if(Bukkit.getPlayer(uuid) != null && Bukkit.getPlayer(uuid).isOnline()) {
- Plot pl = PlayerFunctions.getCurrentPlot(Bukkit.getPlayer((uuid)));
- if(pl.id == plot.id) {
- PlayerFunctions.sendMessage(Bukkit.getPlayer(uuid), C.YOU_BE_DENIED);
- Bukkit.getPlayer(uuid).teleport(Bukkit.getPlayer(uuid).getWorld().getSpawnLocation());
- }
- }
- } else if(args[0].equalsIgnoreCase("remove")) {
- if(args[1].equalsIgnoreCase("*")) {
- UUID uuid = DBFunc.everyone;
- if(!plot.denied.contains(uuid)) {
- PlayerFunctions.sendMessage(plr, C.WAS_NOT_ADDED);
- return true;
- }
- plot.removeDenied(uuid);
- DBFunc.removeDenied(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1]));
- PlayerFunctions.sendMessage(plr, C.DENIED_REMOVED);
- return true;
- }
- if(!hasBeenOnServer(args[1])) {
- PlayerFunctions.sendMessage(plr, C.PLAYER_HAS_NOT_BEEN_ON);
- return true;
- }
- UUID uuid = null;
- if(Bukkit.getPlayer(args[1]).isOnline())
- uuid = Bukkit.getPlayer(args[1]).getUniqueId();
- else
- uuid = Bukkit.getOfflinePlayer(args[1]).getUniqueId();
- if(!plot.denied.contains(uuid)) {
- PlayerFunctions.sendMessage(plr, C.WAS_NOT_ADDED);
- return true;
- }
- plot.removeDenied(uuid);
- DBFunc.removeDenied(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1]));
- PlayerPlotDeniedEvent event = new PlayerPlotDeniedEvent(plr, plot, uuid, false);
- Bukkit.getPluginManager().callEvent(event);
- PlayerFunctions.sendMessage(plr, C.DENIED_REMOVED);
- } else {
- PlayerFunctions.sendMessage(plr, C.DENIED_NEED_ARGUMENT);
- return true;
- }
- return true;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Help.java b/src/com/intellectualcrafters/plot/commands/Help.java
deleted file mode 100644
index e2f36272c..000000000
--- a/src/com/intellectualcrafters/plot/commands/Help.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Help.java
- * >> Generated by: Citymonstret at 2014-08-11 17:32
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import org.bukkit.entity.Player;
-
-/**
- * Created by Citymonstret on 2014-08-11.
- */
-public class Help extends SubCommand {
- public Help() {
- super("help", "", "Get this help menu", "help", "he", SubCommand.CommandCategory.INFO);
- }
- public boolean execute(Player plr, String ... args) { return false; }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Helpers.java b/src/com/intellectualcrafters/plot/commands/Helpers.java
deleted file mode 100644
index a8c58f046..000000000
--- a/src/com/intellectualcrafters/plot/commands/Helpers.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Helpers.java
- * >> Generated by: Citymonstret at 2014-08-09 01:41
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.C;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.Plot;
-import com.intellectualcrafters.plot.database.DBFunc;
-import com.intellectualcrafters.plot.events.PlayerPlotHelperEvent;
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.entity.Player;
-
-import java.util.UUID;
-
-@SuppressWarnings("deprecation")
-public class Helpers extends SubCommand{
-
- public Helpers() {
- super(Command.HELPERS, "Manage plot helpers", "helpers {add|remove} {player}", CommandCategory.ACTIONS);
- }
-
-
- private boolean hasBeenOnServer(String name) {
- Player plr;
- if((plr = Bukkit.getPlayer(name)) == null) {
- OfflinePlayer oplr = Bukkit.getOfflinePlayer(name);
- if(oplr == null) return false;
- else return oplr.hasPlayedBefore();
- } else {
- if(plr.isOnline()) return true;
- else return plr.hasPlayedBefore();
- }
- }
-
- public boolean execute(Player plr, String ... args) {
- if(args.length < 2) {
- PlayerFunctions.sendMessage(plr, C.HELPER_NEED_ARGUMENT);
- return true;
- }
- if(!PlayerFunctions.isInPlot(plr)) {
- PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT);
- return true;
- }
- Plot plot = PlayerFunctions.getCurrentPlot(plr);
- if(plot.owner == null || !plot.hasRights(plr)) {
- PlayerFunctions.sendMessage(plr, C.NO_PERMISSION);
- return true;
- }
- if(args[0].equalsIgnoreCase("add")) {
- if(args[1].equalsIgnoreCase("*")) {
- UUID uuid = DBFunc.everyone;
- plot.addHelper(uuid);
- DBFunc.setHelper(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1]));
- PlayerFunctions.sendMessage(plr, C.HELPER_ADDED);
- return true;
- }
- if(!hasBeenOnServer(args[1])) {
- PlayerFunctions.sendMessage(plr, C.PLAYER_HAS_NOT_BEEN_ON);
- return true;
- }
- UUID uuid = null;
- if(Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline())
- uuid = Bukkit.getPlayer(args[1]).getUniqueId();
- else
- uuid = Bukkit.getOfflinePlayer(args[1]).getUniqueId();
- plot.addHelper(uuid);
- DBFunc.setHelper(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1]));
- PlayerPlotHelperEvent event = new PlayerPlotHelperEvent(plr, plot, uuid, true);
- Bukkit.getPluginManager().callEvent(event);
- PlayerFunctions.sendMessage(plr, C.HELPER_ADDED);
- } else if(args[0].equalsIgnoreCase("remove")) {
- if(args[1].equalsIgnoreCase("*")) {
- UUID uuid = DBFunc.everyone;
- if(!plot.helpers.contains(uuid)) {
- PlayerFunctions.sendMessage(plr, C.WAS_NOT_ADDED);
- return true;
- }
- plot.removeHelper(uuid);
- DBFunc.removeHelper(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1]));
- PlayerFunctions.sendMessage(plr, C.HELPER_REMOVED);
- return true;
- }
- if(!hasBeenOnServer(args[1])) {
- PlayerFunctions.sendMessage(plr, C.PLAYER_HAS_NOT_BEEN_ON);
- return true;
- }
- UUID uuid = null;
- if(Bukkit.getPlayer(args[1]).isOnline())
- uuid = Bukkit.getPlayer(args[1]).getUniqueId();
- else
- uuid = Bukkit.getOfflinePlayer(args[1]).getUniqueId();
- if(!plot.helpers.contains(uuid)) {
- PlayerFunctions.sendMessage(plr, C.WAS_NOT_ADDED);
- return true;
- }
- plot.removeHelper(uuid);
- DBFunc.removeHelper(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1]));
- PlayerPlotHelperEvent event = new PlayerPlotHelperEvent(plr, plot, uuid, false);
- Bukkit.getPluginManager().callEvent(event);
- PlayerFunctions.sendMessage(plr, C.HELPER_REMOVED);
- } else {
- PlayerFunctions.sendMessage(plr, C.HELPER_NEED_ARGUMENT);
- return true;
- }
- return true;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Home.java b/src/com/intellectualcrafters/plot/commands/Home.java
deleted file mode 100644
index 69c171b1a..000000000
--- a/src/com/intellectualcrafters/plot/commands/Home.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Home.java
- * >> Generated by: Citymonstret at 2014-08-09 01:41
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.*;
-
-import org.bukkit.entity.Player;
-
-import java.util.ArrayList;
-import java.util.Set;
-
-/**
- *
- * @author Citymonstret
- *
- */
-public class Home extends SubCommand{
-
- public Home() {
- super(Command.HOME, "Go to your plot", "home {id|alias}", CommandCategory.TELEPORT);
- }
- private Plot isAlias(String a) {
- for(Plot p : PlotMain.getPlots()) {
- if(p.settings.getAlias().length() > 0 && p.settings.getAlias().equalsIgnoreCase(a))
- return p;
- }
- return null;
- }
- @Override
- public boolean execute(Player plr, String ... args) {
-
- // TODO plot names / alias
-
- Plot[] plots = PlotMain.getPlots(plr).toArray(new Plot[0]);
- if(plots.length == 1) {
- PlotMain.teleportPlayer(plr, plr.getLocation(), plots[0]);
- return true;
- } else if(plots.length > 1) {
- if(args.length < 1) {
- PlayerFunctions.sendMessage(plr, C.NEED_PLOT_NUMBER);
- return true;
- }
- int id = 0;
- try {
- id = Integer.parseInt(args[0]);
- } catch (Exception e) {
-
- Plot temp;
- if((temp = isAlias(args[0])) != null) {
- if (temp.hasOwner()) {
- if (temp.getOwner().equals(plr.getUniqueId())) {
- PlotMain.teleportPlayer(plr, plr.getLocation(), temp);
- return true;
- }
- }
- PlayerFunctions.sendMessage(plr, C.NOT_YOUR_PLOT);
- return false;
- }
- PlayerFunctions.sendMessage(plr, C.NOT_VALID_NUMBER);
- return true;
- }
- if(id > (plots.length) || id < 1) {
- PlayerFunctions.sendMessage(plr, C.NOT_VALID_NUMBER);
- return false;
- }
- PlotMain.teleportPlayer(plr, plr.getLocation(), plots[id - 1]);
- return true;
- } else {
- PlayerFunctions.sendMessage(plr, C.NO_PLOTS);
- return true;
- }
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Info.java b/src/com/intellectualcrafters/plot/commands/Info.java
deleted file mode 100644
index 8153fc88c..000000000
--- a/src/com/intellectualcrafters/plot/commands/Info.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Info.java
- * >> Generated by: Citymonstret at 2014-08-09 01:41
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.*;
-import com.intellectualcrafters.plot.database.DBFunc;
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.World;
-import org.bukkit.block.Biome;
-import org.bukkit.entity.Player;
-
-import java.util.ArrayList;
-import java.util.UUID;
-
-/**
- *
- * @author Citymonstret
- *
- */
-public class Info extends SubCommand{
-
- public Info() {
- super(Command.INFO, "Display plot info", "info", CommandCategory.INFO);
- }
-
- @Override
- public boolean execute(Player player, String ... args) {
- if(!PlayerFunctions.isInPlot(player)) {
- PlayerFunctions.sendMessage(player, C.NOT_IN_PLOT);
- return true;
- }
-
- // ||
- Plot plot = PlayerFunctions.getCurrentPlot(player);
-
- boolean hasOwner = plot.hasOwner();
- boolean containsEveryone;
-
- // Wildcard player {added}
- {
- if(plot.helpers == null) {
- containsEveryone = false;
- } else {
- containsEveryone = plot.helpers.contains(DBFunc.everyone);
- }
- }
-
- // Unclaimed?
- if(!hasOwner && !containsEveryone) {
- PlayerFunctions.sendMessage(player, C.PLOT_INFO_UNCLAIMED, plot.id.x+";"+plot.id.y);
- return true;
- }
-
- // Helpers :D
- StringBuilder helpers = new StringBuilder();
-
- String owner = "none";
- if(plot.owner != null)
- owner = Bukkit.getOfflinePlayer(plot.owner).getName();
-
- String info = C.PLOT_INFO.s();
- info = info.replaceAll("%alias%", plot.settings.getAlias().length() > 0 ? plot.settings.getAlias() : "none");
- info = info.replaceAll("%id%", plot.id.x+";"+plot.id.y);
- info = info.replaceAll("%biome%", getBiomeAt(plot).toString());
- info = info.replaceAll("%owner%", owner);
- info = info.replaceAll("%time%", plot.settings.getChangeTime() ? plot.settings.getTime() + "" : "default");
- info = info.replaceAll("%weather%", plot.settings.getRain() ? "rain" : "default");
- info = info.replaceAll("%helpers%", getPlayerList(plot.helpers));
- info = info.replaceAll("%denied%", getPlayerList(plot.denied));
- PlayerFunctions.sendMessage(player, info);
- return true;
- }
-
- private String getPlayerList(ArrayList l) {
- if(l == null || l.size() < 1) return " none";
- String c = C.PLOT_USER_LIST.s();
- StringBuilder list = new StringBuilder();
- for(int x = 0; x < l.size(); x++) {
- if(x + 1 == l.size())
- list.append(c.replace("%user%", getPlayerName(l.get(x))).replace(",", ""));
- else
- list.append(c.replace("%user%", getPlayerName(l.get(x))));
- }
- return list.toString();
- }
-
- private String getPlayerName(UUID uuid) {
- if(uuid == null) return "unknown";
- if(uuid.equals(DBFunc.everyone) || uuid.toString().equalsIgnoreCase(DBFunc.everyone.toString()))
- return "everyone";
- OfflinePlayer plr = Bukkit.getOfflinePlayer(uuid);
- if(plr == null) return "unknown";
- return plr.getName();
- }
-
- private Biome getBiomeAt(Plot plot) {
- World w = Bukkit.getWorld(plot.world);
- Location bl = PlotHelper.getPlotTopLoc(w, plot.id);
- return bl.getBlock().getBiome();
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Inventory.java b/src/com/intellectualcrafters/plot/commands/Inventory.java
deleted file mode 100644
index bc834d065..000000000
--- a/src/com/intellectualcrafters/plot/commands/Inventory.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Inventory.java
- * >> Generated by: Citymonstret at 2014-08-10 13:57
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.ItemStack;
-import org.bukkit.inventory.meta.ItemMeta;
-
-import java.util.ArrayList;
-
-public class Inventory extends SubCommand {
-
- public Inventory() {
- super("inventory", "plots.inventory", "Open a command inventory", "inventory", "inv", CommandCategory.INFO);
- }
-
- @Override
- public boolean execute(final Player plr, String ... args) {
- ArrayList cmds = new ArrayList<>();
- for(SubCommand cmd : MainCommand.subCommands) {
- if(cmd.permission.hasPermission(plr))
- cmds.add(cmd);
- }
- int size = 9 * (int) Math.ceil(cmds.size() / 9.0);
- org.bukkit.inventory.Inventory inventory = Bukkit.createInventory(null, size, "PlotSquared Commands");
- for(SubCommand cmd : cmds) {
- inventory.addItem(getItem(cmd));
- }
- plr.openInventory(inventory);
- return true;
- }
-
- private ItemStack getItem(final SubCommand cmd) {
- ItemStack stack = new ItemStack(Material.COMMAND);
- ItemMeta meta = stack.getItemMeta();
- {
- meta.setDisplayName(ChatColor.GREEN + cmd.cmd + ChatColor.DARK_GRAY + " [" + ChatColor.GREEN + cmd.alias + ChatColor.DARK_GRAY + "]");
- meta.setLore(new ArrayList() {
- {
- add(ChatColor.RED + "Category: " + ChatColor.GOLD + cmd.category.toString());
- add(ChatColor.RED + "Description: " + ChatColor.GOLD + cmd.description);
- add(ChatColor.RED + "Usage: " + ChatColor.GOLD + "/plot " + cmd.usage);
- }
- });
- }
- stack.setItemMeta(meta);
- return stack;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/MainCommand.java b/src/com/intellectualcrafters/plot/commands/MainCommand.java
deleted file mode 100644
index ecacf13a4..000000000
--- a/src/com/intellectualcrafters/plot/commands/MainCommand.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = MainCommand.java
- * >> Generated by: Citymonstret at 2014-08-09 01:42
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.C;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.PlotMain;
-
-import org.bukkit.ChatColor;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
-/**
- * PlotMain command class
- * @author Citymonstret
- *
- */
-public class MainCommand implements CommandExecutor{
-
- private static SubCommand[] _subCommands = new SubCommand[] {
- new Claim(),
- new Auto(),
- new Home(),
- new Visit(),
- new TP(),
- new Set(),
- new Clear(),
- new SetOwner(),
- new Denied(),
- new Helpers(),
- new Info(),
- new list(),
- new Help(),
- new Debug(),
- new Schematic(),
- new plugin(),
- new Inventory(),
- new Reload()
- };
-
- public static ArrayList subCommands = new ArrayList() { {
- addAll(Arrays.asList(_subCommands));
- }};
-
- public static boolean no_permission(Player player) {
- PlayerFunctions.sendMessage(player, C.NO_PERMISSION);
- return false;
- }
-
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel,
- String[] args) {
- if(!(sender instanceof Player)) {
- if (args.length>0) {
- if (args[0].equalsIgnoreCase("reload")) {
- new Reload().executeConsole(args);
- }
- }
- else {
- PlotMain.sendConsoleSenderMessage(C.PREFIX.s()+C.HELP_HEADER.s());
- PlotMain.sendConsoleSenderMessage("&6/plots reload &c-&6 reloads the plugin");
- }
- return false;
- }
- Player player = (Player) sender;
- if(!player.hasPermission("plots.use")) {
- return no_permission(player);
- }
- if(args.length < 1 || (args.length >= 1 && (args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("he"))) )
- {
- if(args.length < 2) {
- StringBuilder builder = new StringBuilder();
- builder.append(C.HELP_INFO.s());
- for(SubCommand.CommandCategory category : SubCommand.CommandCategory.values()) {
- builder.append("\n" + C.HELP_INFO_ITEM.s().replaceAll("%category%", category.toString().toLowerCase()).replaceAll("%category_desc%", category.toString()));
- }
- PlayerFunctions.sendMessage(player, builder.toString());
- return true;
- }
- String cat = args[1];
- SubCommand.CommandCategory cato = null;
- for(SubCommand.CommandCategory category : SubCommand.CommandCategory.values()) {
- if(cat.equalsIgnoreCase(category.toString())){
- cato = category;
- break;
- }
- }
- if(cato == null) {
- StringBuilder builder = new StringBuilder();
- builder.append(C.HELP_INFO.s());
- for(SubCommand.CommandCategory category : SubCommand.CommandCategory.values()) {
- builder.append("\n" + C.HELP_INFO_ITEM.s().replaceAll("%category%", category.toString().toLowerCase()).replaceAll("%category_desc%", category.toString()));
- }
- PlayerFunctions.sendMessage(player, builder.toString());
- return true;
- }
- StringBuilder help = new StringBuilder();
- for(String string : helpMenu(player, cato))
- help.append(string + "\n");
- PlayerFunctions.sendMessage(player, help.toString());
- return true;
- }
- else {
- for(SubCommand command : subCommands) {
- if(command.cmd.equalsIgnoreCase(args[0]) || command.alias.equalsIgnoreCase(args[0])) {
- String[] arguments = new String[args.length - 1];
- for(int x = 1; x < args.length; x++)
- arguments[x - 1] = args[x];
- if(command.permission.hasPermission(player))
- return command.execute(player, arguments);
- else return no_permission(player);
- }
- }
- PlayerFunctions.sendMessage(player, C.NOT_VALID_SUBCOMMAND);
- }
- return false;
- }
-
- public static ArrayList helpMenu(Player player, final SubCommand.CommandCategory category) {
- ArrayList help = new ArrayList(){
- {
- add(t(C.HELP_HEADER.s()));
- add(t(C.HELP_CATEGORY.s().replaceAll("%category%", category.toString())));
- }
- };
- for (SubCommand cmd : subCommands) {
- if (cmd.permission.hasPermission(player) && cmd.category == category) {
- String s = t(C.HELP_PAGE.s());
- s = s.replaceAll("%alias%", cmd.alias);
- s = s.replaceAll("%usage%", "/plot " + cmd.usage);
- s = s.replaceAll("%cmd%", cmd.cmd);
- s = s.replaceAll("%desc%", cmd.description);
- help.add(s);
- }
- }
- if (help.size() < 2) {
- help.add(t(C.NO_COMMANDS.s()));
- }
- return help;
- }
-
- private static String t(String s) {
- return ChatColor.translateAlternateColorCodes('&', s);
- }
-
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Reload.java b/src/com/intellectualcrafters/plot/commands/Reload.java
deleted file mode 100644
index 50bbd24f2..000000000
--- a/src/com/intellectualcrafters/plot/commands/Reload.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Reload.java
- * >> Generated by: Citymonstret at 2014-08-09 01:42
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.PlotMain;
-
-import org.bukkit.ChatColor;
-import org.bukkit.entity.Player;
-
-import com.intellectualcrafters.plot.C;
-
-/**
- * @Deprecated
- */
-public class Reload extends SubCommand{
-
- public Reload() {
- super("reload", "plots.admin", "Reload configurations", "", "reload", CommandCategory.INFO);
- }
-
- @Override
- public boolean execute(Player plr, String ... args) {
- try {
- PlotMain.reloadTranslations();
- PlotMain.BroadcastWithPerms(C.RELOADED_CONFIGS);
- } catch(Exception e) {
- if (plr!=null)
- PlayerFunctions.sendMessage(plr, C.RELOAD_FAILED);
- else
- PlotMain.sendConsoleSenderMessage(C.RELOAD_FAILED);
- }
- return true;
- }
-
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Schematic.java b/src/com/intellectualcrafters/plot/commands/Schematic.java
deleted file mode 100644
index 235ab1dd9..000000000
--- a/src/com/intellectualcrafters/plot/commands/Schematic.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.C;
-import com.intellectualcrafters.plot.PlotMain;
-import com.intellectualcrafters.plot.SchematicHandler;
-import com.intellectualcrafters.plot.Settings;
-
-import org.bukkit.entity.Player;
-
-public class Schematic extends SubCommand {
-
- public Schematic() {
- super("schematic", "plots.admin", "Schematic Command", "schematic {arg}", "sch", CommandCategory.ACTIONS);
- }
-
-
- @Override
- public boolean execute(Player plr, String... args) {
- if(args.length < 1) {
- sendMessage(plr, C.SCHEMATIC_MISSING_ARG);
- return true;
- }
- String arg = args[0];
- switch(arg) {
- case "test":
- if(args.length < 2) {
- sendMessage(plr, C.SCHEMATIC_MISSING_ARG);
- break;
- }
- String file = args[1];
- SchematicHandler.Schematic schematic = new SchematicHandler().getSchematic(file);
- if(schematic == null) {
- sendMessage(plr, C.SCHEMATIC_INVALID, "non-existent");
- break;
- }
- int l1 = schematic.getSchematicDimension().getX();
- int l2 = schematic.getSchematicDimension().getZ();
- int length = PlotMain.getWorldSettings(plr.getWorld()).PLOT_WIDTH;
- if(l1 != length || l2 != length) {
- sendMessage(plr, C.SCHEMATIC_INVALID, String.format("Wrong size (x: %s, z: %d) vs %d ", l1, l2, length));
- break;
- }
- sendMessage(plr, C.SCHEMATIC_VALID);
- break;
- default:
- sendMessage(plr, C.SCHEMATIC_MISSING_ARG);
- break;
- }
- return true;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Set.java b/src/com/intellectualcrafters/plot/commands/Set.java
deleted file mode 100644
index 0cf115670..000000000
--- a/src/com/intellectualcrafters/plot/commands/Set.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Set.java
- * >> Generated by: Citymonstret at 2014-08-09 01:42
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.*;
-import com.intellectualcrafters.plot.database.DBFunc;
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.WeatherType;
-import org.bukkit.block.Biome;
-import org.bukkit.entity.Player;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- *
- * @author Citymonstret
- *
- */
-public class Set extends SubCommand{
-
- public Set() {
- super(Command.SET, "Set a plot value", "set {arg} {value...}", CommandCategory.ACTIONS);
- }
-
- public static String[] values = new String[] {
- "biome", "wall", "wall_filling", "floor", "alias", "home", "rain"
- };
- public static String[] aliases = new String[] {
- "b", "w", "wf", "f", "a", "h", "r"
- };
-
- @SuppressWarnings("deprecation")
- @Override
- public boolean execute(Player plr, String ... args) {
- if(!PlayerFunctions.isInPlot(plr)) {
- PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT);
- return false;
- }
- Plot plot = PlayerFunctions.getCurrentPlot(plr);
-
- if(!plot.hasRights(plr) && !plr.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(plr, C.NO_PLOT_PERMS);
- return false;
- }
- if(args.length < 1) {
- StringBuilder builder = new StringBuilder();
- builder.append(C.SUBCOMMAND_SET_OPTIONS_HEADER.s());
- builder.append(getArgumentList(values));
- PlayerFunctions.sendMessage(plr, builder.toString());
- return true;
- }
-
- for(int i = 0; i < aliases.length; i++) {
- if(aliases[i].equalsIgnoreCase(args[0])) {
- args[0] = values[i];
- break;
- }
- }
-
- /* TODO: Implement option */
- boolean advanced_permissions = false;
- if(advanced_permissions) {
- if(!plr.hasPermission("plots.set." + args[0].toLowerCase())) {
- PlayerFunctions.sendMessage(plr, C.NO_PERMISSION);
- return false;
- }
- }
-
- if(args[0].equalsIgnoreCase("rain")) {
- if(args.length < 2) {
- PlayerFunctions.sendMessage(plr, C.NEED_ON_OFF);
- return false;
- }
- String word = args[1];
- if(!word.equalsIgnoreCase("on") && !word.equalsIgnoreCase("off")) {
- PlayerFunctions.sendMessage(plr, C.NEED_ON_OFF);
- return true;
- }
- boolean b = word.equalsIgnoreCase("on");
- DBFunc.setWeather(plr.getWorld().getName(), plot, b);
- PlayerFunctions.sendMessage(plr, C.SETTING_UPDATED);
- for(Player p : Bukkit.getOnlinePlayers()) {
- if(PlayerFunctions.getCurrentPlot(plr).id == plot.id) {
- if(b) p.setPlayerWeather(WeatherType.DOWNFALL);
- else p.resetPlayerWeather();
- }
- }
- return true;
- }
-
- if(args[0].equalsIgnoreCase("home")) {
- if(args.length < 2) {
- PlayerFunctions.sendMessage(plr, C.MISSING_POSITION);
- return false;
- }
- PlotHomePosition position = null;
- for(PlotHomePosition p : PlotHomePosition.values()) {
- if(p.isMatching(args[1])) position = p;
- }
- if(position == null) {
- PlayerFunctions.sendMessage(plr, C.INVALID_POSITION);
- return false;
- }
- DBFunc.setPosition(plr.getWorld().getName(), plot, position.toString());
- PlayerFunctions.sendMessage(plr, C.POSITION_SET);
- return true;
- }
-
- if(args[0].equalsIgnoreCase("alias")) {
- if(args.length < 2) {
- PlayerFunctions.sendMessage(plr, C.MISSING_ALIAS);
- return false;
- }
- String alias = args[1];
- for(Plot p : PlotMain.getPlots()) {
- if(p.settings.getAlias().equalsIgnoreCase(alias)) {
- PlayerFunctions.sendMessage(plr, C.ALIAS_IS_TAKEN);
- return false;
- }
- }
- DBFunc.setAlias(plr.getWorld().getName(), plot, alias);
- PlayerFunctions.sendMessage(plr, C.ALIAS_SET_TO.s().replaceAll("%alias%", alias));
- return true;
- }
- if(args[0].equalsIgnoreCase("biome")) {
- if(args.length < 2) {
- PlayerFunctions.sendMessage(plr, C.NEED_BIOME);
- return true;
- }
- Biome biome = null;
- for(Biome b : Biome.values()) {
- if(b.toString().equalsIgnoreCase(args[1])) {
- biome = b;
- break;
- }
- }
- if(biome == null) {
- PlayerFunctions.sendMessage(plr, getBiomeList(Arrays.asList(Biome.values())));
- return true;
- }
- PlotHelper.setBiome(plr.getWorld(), plot, biome);
- PlayerFunctions.sendMessage(plr, C.BIOME_SET_TO.s() + biome.toString().toLowerCase());
- return true;
- }
- if(args[0].equalsIgnoreCase("wall")) {
- PlotWorld plotworld = PlotMain.getWorldSettings(plr.getWorld());
- if (plotworld==null) {
- PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT_WORLD);
- return true;
- }
- if(args.length < 2) {
- PlayerFunctions.sendMessage(plr, C.NEED_BLOCK);
- return true;
- }
- Material material = null;
- for(Material m : plotworld.BLOCKS) {
- if(m.toString().equalsIgnoreCase(args[1])) {
- material = m;
- break;
- }
- }
- if(material == null) {
- PlayerFunctions.sendMessage(plr, getBlockList(plotworld.BLOCKS));
- return true;
- }
- byte data = 0;
-
- if(args.length > 2) {
- try {
- data = (byte) Integer.parseInt(args[2]);
- } catch(Exception e) {
- PlayerFunctions.sendMessage(plr, C.NOT_VALID_DATA);
- return true;
- }
- }
- PlayerFunctions.sendMessage(plr, C.GENERATING_WALL);
- PlotHelper.adjustWall(plr.getWorld(), plot, (short)material.getId(), data);
- return true;
- }
- if(args[0].equalsIgnoreCase("floor")) {
- if(args.length < 2) {
- PlayerFunctions.sendMessage(plr, C.NEED_BLOCK);
- return true;
- }
- PlotWorld plotworld = PlotMain.getWorldSettings(plr.getWorld());
- if (plotworld==null) {
- PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT_WORLD);
- return true;
- }
- //
- @SuppressWarnings("unchecked")
- ArrayList materials = (ArrayList) plotworld.BLOCKS.clone();
- materials.add(Material.AIR);
- //
- String[] strings = args[1].split(",");
- //
- Material[] material = new Material[strings.length];
- byte[] data = new byte[strings.length];
- //
- int index = 0;
- //
- byte b = (byte) 0;
- Material m = null;
- //
- for(String s : strings) {
- s = s.replaceAll(",", "");
- String[] ss = s.split(";");
- ss[0] = ss[0].replaceAll(";", "");
- for(Material ma : materials) {
- if(ma.toString().equalsIgnoreCase(ss[0])) {
- m = ma;
- }
- }
- if(m == null) {
- PlayerFunctions.sendMessage(plr, C.NOT_VALID_BLOCK);
- return true;
- }
- if(ss.length == 1) {
- data[index] = (byte) 0;
- material[index] = m;
- } else {
- try {
- b = (byte) Integer.parseInt(ss[1]);
- } catch(Exception e) {
- PlayerFunctions.sendMessage(plr, C.NOT_VALID_DATA);
- return true;
- }
- data[index] = b;
- material[index] = m;
- }
- index++;
- }
- PlotHelper.setFloor(plr, plot, material, data);
- return true;
- }
- if(args[0].equalsIgnoreCase("wall_filling")) {
- if(args.length < 2) {
- PlayerFunctions.sendMessage(plr, C.NEED_BLOCK);
- return true;
- }
- PlotWorld plotworld = PlotMain.getWorldSettings(plr.getWorld());
- if (plotworld==null) {
- PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT_WORLD);
- return true;
- }
- Material material = null;
- for(Material m : plotworld.BLOCKS) {
- if(m.toString().equalsIgnoreCase(args[1])) {
- material = m;
- break;
- }
- }
- if(material == null) {
- PlayerFunctions.sendMessage(plr, getBlockList(plotworld.BLOCKS));
- return true;
- }
- byte data = 0;
-
- if(args.length > 2) {
- try {
- data = (byte) Integer.parseInt(args[2]);
- } catch(Exception e) {
- PlayerFunctions.sendMessage(plr, C.NOT_VALID_DATA);
- return true;
- }
- }
- PlotHelper.adjustWallFilling(plr, plr.getWorld(), plot, (short)material.getId(), data);
- return true;
- }
- PlayerFunctions.sendMessage(plr, "Not a valid option. Use {TODO: Insert list.}");
- return true;
- }
-
- private String getMaterial(Material m) {
- return ChatColor.translateAlternateColorCodes('&', C.BLOCK_LIST_ITEM.s().replaceAll("%mat%", m.toString().toLowerCase()));
- }
-
- private String getBiome(Biome b) {
- return ChatColor.translateAlternateColorCodes('&', C.BLOCK_LIST_ITEM.s().replaceAll("%mat%", b.toString().toLowerCase()));
- }
-
- private String getString(String s) {
- return ChatColor.translateAlternateColorCodes('&', C.BLOCK_LIST_ITEM.s().replaceAll("%mat%", s));
- }
-
- private String getArgumentList(String[] strings) {
- StringBuilder builder = new StringBuilder();
- for(String s : strings) {
- builder.append(getString(s));
- }
- return builder.toString().substring(1, builder.toString().length() - 1);
- }
-
- private String getBiomeList(List biomes) {
- StringBuilder builder = new StringBuilder();
- builder.append(ChatColor.translateAlternateColorCodes('&', C.NOT_VALID_BLOCK_LIST_HEADER.s()));
- for(Biome b : biomes) {
- builder.append(getBiome(b));
- }
- return builder.toString().substring(1,builder.toString().length() - 1);
- }
-
- private String getBlockList(List blocks) {
- StringBuilder builder = new StringBuilder();
- builder.append(ChatColor.translateAlternateColorCodes('&', C.NOT_VALID_BLOCK_LIST_HEADER.s()));
- for(Material b : blocks) {
- builder.append(getMaterial(b));
- }
- return builder.toString().substring(1,builder.toString().length() - 1);
- }
-
-
-}
diff --git a/src/com/intellectualcrafters/plot/commands/SetOwner.java b/src/com/intellectualcrafters/plot/commands/SetOwner.java
deleted file mode 100644
index ef0950243..000000000
--- a/src/com/intellectualcrafters/plot/commands/SetOwner.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = SetOwner.java
- * >> Generated by: Citymonstret at 2014-08-09 01:42
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.C;
-import com.intellectualcrafters.plot.database.DBFunc;
-import com.intellectualcrafters.plot.PlotMain;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.Plot;
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.entity.Player;
-
-import java.util.UUID;
-
-@SuppressWarnings("deprecation")
-public class SetOwner extends SubCommand{
-
- public SetOwner() {
- super("setowner", "plots.admin", "Set the plot owner", "setowner {player}", "so", CommandCategory.ACTIONS);
- }
-
- private UUID getUUID(String string) {
- OfflinePlayer player = Bukkit.getOfflinePlayer(string);
- return (player != null && player.hasPlayedBefore()) ? player.getUniqueId() : null;
- }
- @Override
- public boolean execute(Player plr, String ... args) {
- if(!PlayerFunctions.isInPlot(plr)) {
- PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT);
- return true;
- }
- Plot plot = PlayerFunctions.getCurrentPlot(plr);
- if(args.length < 1) {
- PlayerFunctions.sendMessage(plr, C.NEED_USER);
- return true;
- }
- plot.owner = getUUID(args[0]);
- PlotMain.updatePlot(plot);
- DBFunc.setOwner(plot, plot.owner);
- PlayerFunctions.sendMessage(plr, C.SET_OWNER);
- return true;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/SubCommand.java b/src/com/intellectualcrafters/plot/commands/SubCommand.java
deleted file mode 100644
index f4826830a..000000000
--- a/src/com/intellectualcrafters/plot/commands/SubCommand.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = SubCommand.java
- * >> Generated by: Citymonstret at 2014-08-09 01:42
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.C;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import org.bukkit.entity.Player;
-
-/**
- * SubCommand class
- * @author Citymonstret
- *
- */
-public abstract class SubCommand {
-
- /**
- * Command
- */
- public String cmd;
- /**
- * Permission node
- */
- public CommandPermission permission;
- /**
- * Simple description
- */
- public String description;
- /**
- * Alias
- */
- public String alias;
-
- /**
- * Command usage
- */
- public String usage;
-
- public CommandCategory category;
-
- /**
- *
- * @param cmd Command /plot {cmd} <-- That!
- * @param permission Permission Node
- * @param description Simple description
- * @param usage Usage description: /plot command {args...}
- * @param alias Command alias
- * @param category CommandCategory. Pick whichever closests to what you want.
- */
- public SubCommand(String cmd, String permission, String description, String usage, String alias, CommandCategory category) {
- this.cmd = cmd;
- this.permission = new CommandPermission(permission);
- this.description = description;
- this.alias = alias;
- this.usage = usage;
- this.category = category;
- }
-
- /**
- *
- * @param command Command /plot {cmd} <-- That!
- * @param description Simple description
- * @param usage Usage description: /plot command {args...}
- * @param category CommandCategory. Pick whichever closests to what you want.
- */
- public SubCommand(Command command, String description, String usage, CommandCategory category) {
- this.cmd = command.getCommand();
- this.permission = command.getPermission();
- this.alias = command.getAlias();
- this.description = description;
- this.usage = usage;
- this.category = category;
- }
- /**
- * Execute.
- * @param plr executor
- * @param args arguments
- * @return true on success, false on failure
- */
- public abstract boolean execute(Player plr, String ... args);
- public void executeConsole(String ... args) { this.execute(null, args); }
-
- public void sendMessage(Player plr, C c, String ... args) {
- PlayerFunctions.sendMessage(plr, c, args);
- }
-
-
- public enum CommandCategory {
- CLAIMING("Claiming"),
- TELEPORT("Teleportation"),
- ACTIONS("Actions"),
- INFO("Information");
- private String name;
- CommandCategory(String name) {
- this.name = name;
- }
- @Override
- public String toString() {
- return this.name;
- }
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/TP.java b/src/com/intellectualcrafters/plot/commands/TP.java
deleted file mode 100644
index 4bd6260e1..000000000
--- a/src/com/intellectualcrafters/plot/commands/TP.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = TP.java
- * >> Generated by: Citymonstret at 2014-08-09 01:42
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.*;
-
-import org.bukkit.Bukkit;
-import org.bukkit.World;
-import org.bukkit.entity.Player;
-
-/**
- *
- * @author Citymonstret
- *
- */
-public class TP extends SubCommand {
-
- public TP() {
- super(Command.TP, "Teleport to a plot", "tp {alias|id}", CommandCategory.TELEPORT);
- }
-
- @Override
- public boolean execute(Player plr, String ... args) {
- if(args.length < 1) {
- PlayerFunctions.sendMessage(plr, C.NEED_PLOT_ID);
- return false;
- }
- String id = args[0];
- PlotId plotid;
- World world = plr.getWorld();
- if (args.length==2) {
- if (Bukkit.getWorld(args[1])!=null)
- world = Bukkit.getWorld(args[1]);
- }
- if (!PlotMain.isPlotWorld(world)) {
- PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT_WORLD);
- return false;
- }
- Plot temp;
- if((temp = isAlias(id)) != null) {
- PlotMain.teleportPlayer(plr, plr.getLocation(), temp);
- return true;
- }
- try {
- plotid = new PlotId(Integer.parseInt(id.split(";")[0]), Integer.parseInt(id.split(";")[1]));
- PlotMain.teleportPlayer(plr, plr.getLocation(), PlotHelper.getPlot(world, plotid));
- return true;
- }
- catch (Exception e) {
- PlayerFunctions.sendMessage(plr, C.NOT_VALID_PLOT_ID);
- }
- return false;
- }
-
- private Plot isAlias(String a) {
- for(Plot p : PlotMain.getPlots()) {
- if(p.settings.getAlias().length() > 0 && p.settings.getAlias().equalsIgnoreCase(a))
- return p;
- }
- return null;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/Visit.java b/src/com/intellectualcrafters/plot/commands/Visit.java
deleted file mode 100644
index 2471690e2..000000000
--- a/src/com/intellectualcrafters/plot/commands/Visit.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = Visit.java
- * >> Generated by: Citymonstret at 2014-08-09 01:42
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.*;
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-
-public class Visit extends SubCommand{
- public Visit() {
- super("visit", "plots.visit", "Visit someones plot", "visit {player} [#]", "v", CommandCategory.TELEPORT);
- }
-
- public List getPlots(UUID uuid) {
- List plots = new ArrayList();
- for(Plot p : PlotMain.getPlots())
- if(p.owner.equals(uuid))
- plots.add(p);
- return plots;
- }
-
-
- @Override
- public boolean execute(Player plr, String ... args) {
- if(args.length < 1) {
- PlayerFunctions.sendMessage(plr, C.NEED_USER);
- return true;
- }
- String username = args[0];
- List plots = getPlots(Bukkit.getOfflinePlayer(username).getUniqueId());
- if(plots.isEmpty()) {
- PlayerFunctions.sendMessage(plr, C.FOUND_NO_PLOTS);
- return true;
- }
- if(args.length < 2){
- Plot plot = plots.get(0);
- PlotMain.teleportPlayer(plr, plr.getLocation(), plot);
- return true;
- }
- int i;
- try {
- i = Integer.parseInt(args[1]);
- } catch(Exception e) {
- PlayerFunctions.sendMessage(plr, C.NOT_VALID_NUMBER);
- return true;
- }
- if(i < 0 || i > plots.size()) {
- PlayerFunctions.sendMessage(plr, C.NOT_VALID_NUMBER);
- return true;
- }
- Plot plot = plots.get(i);
- PlotMain.teleportPlayer(plr, plr.getLocation(), plot);
- return true;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/commands/list.java b/src/com/intellectualcrafters/plot/commands/list.java
deleted file mode 100644
index d7755c0de..000000000
--- a/src/com/intellectualcrafters/plot/commands/list.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = list.java
- * >> Generated by: Citymonstret at 2014-08-09 01:41
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.C;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.Plot;
-import com.intellectualcrafters.plot.PlotId;
-import com.intellectualcrafters.plot.PlotMain;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.entity.Player;
-
-import java.util.HashMap;
-import java.util.UUID;
-
-/**
- *
- * @author Citymonstret
- *
- */
-public class list extends SubCommand{
-
- public list() {
- super(Command.LIST, "List all plots", "list {mine|all|world}", CommandCategory.INFO);
- }
-
- @Override
- public boolean execute(Player plr, String ... args) {
- if(args.length < 1) {
- StringBuilder builder = new StringBuilder();
- builder.append(C.SUBCOMMAND_SET_OPTIONS_HEADER.s());
- builder.append(getArgumentList(new String[]{"mine", "all", "world"}));
- PlayerFunctions.sendMessage(plr, builder.toString());
- return true;
- }
- if(args[0].equalsIgnoreCase("mine")) {
- StringBuilder string = new StringBuilder();
- string.append(C.PLOT_LIST_HEADER.s().replaceAll("%word%", "your") + "\n");
- int idx = 0;
- for(Plot p : PlotMain.getPlots(plr)) {
- string.append(C.PLOT_LIST_ITEM.s().replaceAll("%id%", p.id.x+";"+p.id.y+";"+p.world).replaceAll("%owner%", getName(p.owner)) + "\n");
- idx++;
- }
- if(idx == 0) {
- PlayerFunctions.sendMessage(plr, C.NO_PLOTS);
- return true;
- }
- string.append(C.PLOT_LIST_FOOTER.s().replaceAll("%word%", "You have").replaceAll("%num%", idx + "").replaceAll("%plot%", idx == 1 ? "plot" : "plots"));
- PlayerFunctions.sendMessage(plr, string.toString());
- return true;
- } else if(args[0].equalsIgnoreCase("all")) {
- StringBuilder string = new StringBuilder();
- string.append(C.PLOT_LIST_HEADER.s().replaceAll("%word%", "all") + "\n");
- for(Plot p : PlotMain.getPlots()) {
- string.append(C.PLOT_LIST_ITEM.s().replaceAll("%id%", p.id.x+";"+p.id.y+";"+p.world).replaceAll("%owner%", getName(p.owner)) + "\n");
- }
- string.append(C.PLOT_LIST_FOOTER.s().replaceAll("%word%", "There is").replaceAll("%num%", PlotMain.getPlots().size() + "").replaceAll("%plot%", PlotMain.getPlots().size() == 1 ? "plot" : "plots"));
- PlayerFunctions.sendMessage(plr, string.toString());
- return true;
- } else if(args[0].equalsIgnoreCase("world")) {
- StringBuilder string = new StringBuilder();
- string.append(C.PLOT_LIST_HEADER.s().replaceAll("%word%", "all") + "\n");
- HashMap plots = PlotMain.getPlots(plr.getWorld());
- for(Plot p : plots.values()) {
- string.append(C.PLOT_LIST_ITEM.s().replaceAll("%id%", p.id.x+";"+p.id.y+";"+p.world).replaceAll("%owner%", getName(p.owner)) + "\n");
- }
- string.append(C.PLOT_LIST_FOOTER.s().replaceAll("%word%", "There is").replaceAll("%num%", plots.values().size() + "").replaceAll("%plot%", plots.values().size() == 1 ? "plot" : "plots"));
- PlayerFunctions.sendMessage(plr, string.toString());
- return true;
- }
- else {
- execute(plr);
- return false;
- }
- }
-
- private static String getName(UUID id) {
- if(id == null)
- return "none";
- return Bukkit.getOfflinePlayer(id).getName();
- }
- private String getArgumentList(String[] strings) {
- StringBuilder builder = new StringBuilder();
- for(String s : strings) {
- builder.append(getString(s));
- }
- return builder.toString().substring(1, builder.toString().length() - 1);
- }
-
-
- private String getString(String s) {
- return ChatColor.translateAlternateColorCodes('&', C.BLOCK_LIST_ITEM.s().replaceAll("%mat%", s));
- }
-
-}
diff --git a/src/com/intellectualcrafters/plot/commands/plugin.java b/src/com/intellectualcrafters/plot/commands/plugin.java
deleted file mode 100644
index 506a765b4..000000000
--- a/src/com/intellectualcrafters/plot/commands/plugin.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = plugin.java
- * >> Generated by: Citymonstret at 2014-08-09 01:42
- */
-
-package com.intellectualcrafters.plot.commands;
-
-import com.intellectualcrafters.plot.PlotMain;
-import com.intellectualcrafters.plot.PlayerFunctions;
-import com.intellectualcrafters.plot.Settings;
-import org.bukkit.entity.Player;
-
-import java.util.ArrayList;
-
-public class plugin extends SubCommand {
-
- public plugin() {
- super("plugin", "", "Show plugin information", "plugin", "pl", CommandCategory.INFO);
- }
-
- @Override
- public boolean execute(Player plr, String ... args) {
- ArrayList strings = new ArrayList() {
- {
- add(String.format("&c>> &6PlotSquared (Version: %s)", PlotMain.getMain().getDescription().getVersion()));
- add(String.format("&c>> &6Made by Citymonstret and brandonrelph"));
- add(String.format("&c>> &6Download at %s", Settings.URL));
- }
- };
- for(String s : strings)
- PlayerFunctions.sendMessage(plr, s);
- return true;
- }
-
-
-}
diff --git a/src/com/intellectualcrafters/plot/database/DBFunc.java b/src/com/intellectualcrafters/plot/database/DBFunc.java
deleted file mode 100644
index 42e96fda2..000000000
--- a/src/com/intellectualcrafters/plot/database/DBFunc.java
+++ /dev/null
@@ -1,543 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = DBFunc.java
- * >> Generated by: Citymonstret at 2014-08-09 01:43
- */
-
-package com.intellectualcrafters.plot.database;
-import com.intellectualcrafters.plot.Logger;
-import com.intellectualcrafters.plot.Logger.LogLevel;
-import com.intellectualcrafters.plot.Plot;
-import com.intellectualcrafters.plot.PlotHomePosition;
-import com.intellectualcrafters.plot.PlotId;
-import com.intellectualcrafters.plot.PlotMain;
-
-import org.bukkit.Bukkit;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.World;
-import org.bukkit.block.Biome;
-
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.UUID;
-
-import static com.intellectualcrafters.plot.PlotMain.connection;
-
-/**
- *
- * @author Citymonstret
- *
- */
-public class DBFunc {
-
- /**
- * Set Plot owner
- * @param plot
- * @param uuid
- */
- public static void setOwner(final Plot plot, final UUID uuid) {
- runTask(new Runnable() {
- @Override
- public void run() {
- try {
- PreparedStatement statement = connection.prepareStatement("UPDATE `plot` SET `owner` = ? WHERE `plot_id_x` = ? AND `plot_id_z` = ? ");
- statement.setString(1, uuid.toString());
- statement.setInt(2, plot.id.x);
- statement.setInt(3, plot.id.y);
- statement.executeUpdate();
- statement.close();
- } catch(SQLException e) {
- e.printStackTrace();
- Logger.add(LogLevel.DANGER, "Could not set owner for plot " + plot.id);
- }
- }
- });
- }
-
- /**
- * Create a plot
- * @param plot
- */
- public static void createPlot(Plot plot) {
- PreparedStatement stmt = null;
- try {
- stmt = connection.prepareStatement("INSERT INTO `plot`(`plot_id_x`, `plot_id_z`, `owner`, `world`) VALUES(?, ?, ?, ?)");
- stmt.setInt(1, plot.id.x);
- stmt.setInt(2, plot.id.y);
- stmt.setString(3, plot.owner.toString());
- stmt.setString(4, plot.world);
- stmt.executeUpdate();
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- Logger.add(LogLevel.DANGER, "Failed to save plot " + plot.id);
- }
- }
-
- /**
- * Create tables
- * @throws SQLException
- */
- public static void createTables() throws SQLException{
- Statement stmt = connection.createStatement();
- stmt.addBatch(
- "CREATE TABLE IF NOT EXISTS `plot` (" +
- "`id` int(11) NOT NULL AUTO_INCREMENT," +
- "`plot_id_x` int(11) NOT NULL," +
- "`plot_id_z` int(11) NOT NULL," +
- "`owner` varchar(45) NOT NULL," +
- "`world` varchar(45) NOT NULL," +
- "`timestamp` timestamp not null DEFAULT CURRENT_TIMESTAMP," +
- "PRIMARY KEY (`id`)" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=0");
- stmt.addBatch(
- "CREATE TABLE IF NOT EXISTS `plot_helpers` (" +
- "`plot_plot_id` int(11) NOT NULL," +
- "`user_uuid` varchar(40) NOT NULL" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8"
- );
- stmt.addBatch(
- "CREATE TABLE IF NOT EXISTS `plot_denied` (" +
- "`plot_plot_id` int(11) NOT NULL," +
- "`user_uuid` varchar(40) NOT NULL" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8"
- );
- stmt.addBatch(
- "CREATE TABLE IF NOT EXISTS `plot_settings` (" +
- " `plot_plot_id` INT(11) NOT NULL," +
- " `biome` VARCHAR(45) DEFAULT 'FOREST'," +
- " `rain` INT(1) DEFAULT 0," +
- " `custom_time` TINYINT(1) DEFAULT '0'," +
- " `time` INT(11) DEFAULT '8000'," +
- " `deny_entry` TINYINT(1) DEFAULT '0'," +
- " `alias` VARCHAR(50) DEFAULT NULL," +
- " `position` VARCHAR(50) NOT NULL DEFAULT 'DEFAULT'," +
- " PRIMARY KEY (`plot_plot_id`)," +
- " UNIQUE KEY `unique_alias` (`alias`)" +
- ") ENGINE=InnoDB DEFAULT CHARSET=utf8"
- );
- stmt.addBatch(
- "ALTER TABLE `plot_settings` ADD CONSTRAINT `plot_settings_ibfk_1` FOREIGN KEY (`plot_plot_id`) REFERENCES `plot` (`id`) ON DELETE CASCADE"
- );
- stmt.executeBatch();
- stmt.clearBatch();
- stmt.close();
- }
-
- /**
- * Delete a plot
- * @param plot
- */
- public static void delete(final String world, final Plot plot) {
- PlotMain.removePlot(world,plot.id);
- runTask(new Runnable() {
- @Override
- public void run() {
- PreparedStatement stmt = null;
- int id = getId(world,plot.id);
- try {
- stmt = connection.prepareStatement("DELETE FROM `plot_settings` WHERE `plot_plot_id` = ?");
- stmt.setInt(1, id);
- stmt.executeUpdate();
- stmt.close();
- stmt = connection.prepareStatement("DELETE FROM `plot_helpers` WHERE `plot_plot_id` = ?");
- stmt.setInt(1, id);
- stmt.executeUpdate();
- stmt.close();
- stmt = connection.prepareStatement("DELETE FROM `plot` WHERE `id` = ?");
- stmt.setInt(1, id);
- stmt.executeUpdate();
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- Logger.add(LogLevel.DANGER, "Failed to delete plot " + plot.id);
- }
- }
- });
- }
-
- /**
- * Create plot settings
- * @param id
- * @param plot
- */
- public static void createPlotSettings(final int id, final Plot plot) {
- runTask(new Runnable() {
- @Override
- public void run() {
- PreparedStatement stmt = null;
- try {
- stmt = connection.prepareStatement("INSERT INTO `plot_settings`(`plot_plot_id`) VALUES(" +
- "?)");
- stmt.setInt(1, id);
- stmt.executeUpdate();
- stmt.close();
- } catch(SQLException e) {
- e.printStackTrace();
- }
-
- }
- });
- }
-
- /**
- * Get a plot id
- * @param plot_id
- * @return
- */
- public static int getId(String world, PlotId id2) {
- Statement stmt = null;
- try {
- stmt = connection.createStatement();
- ResultSet r = stmt.executeQuery("SELECT `id` FROM `plot` WHERE `plot_id_x` = '" + id2.x + "' AND `plot_id_z` = '" + id2.y + "' AND `world` = '" + world + "' ORDER BY `timestamp` ASC");
- int id = Integer.MAX_VALUE;
- while(r.next()) {
- id = r.getInt("id");
- }
- stmt.close();
- return id;
- } catch(SQLException e) {
- e.printStackTrace();
- }
- return Integer.MAX_VALUE;
- }
-
- /**
- *
- * @return
- */
- public static HashMap> getPlots() {
- HashMap> plots = new HashMap>();
- HashMap worldMap = new HashMap();
- Statement stmt = null;
- try {
- stmt = connection.createStatement();
- ResultSet r = stmt.executeQuery("SELECT `id`, `plot_id_x`, `plot_id_z`, `owner`, `world` FROM `plot`");
- PlotId plot_id;
- int id;
- Plot p;
- World w;
- while (r.next()) {
- plot_id = new PlotId(r.getInt("plot_id_x"),r.getInt("plot_id_z"));
- id = r.getInt("id");
- String worldname = r.getString("world");
- // Quicker to get cache the UUID to the World than to convert each time.
- HashMap settings = getSettings(id);
- UUID owner = UUID.fromString(r.getString("owner"));
- Biome plotBiome = Biome.valueOf((String) settings.get("biome"));
- if(plotBiome == null) plotBiome = Biome.FOREST;
- ArrayList helpers = plotHelpers(id);
- ArrayList denied = plotDenied(id);
- //boolean changeTime = ((Short) settings.get("custom_time") == 0) ? false : true;
- long time = 8000l;
- //if(changeTime) {
- // time = Long.parseLong(settings.get("time").toString());
- //}
- //boolean rain = Integer.parseInt(settings.get("rain").toString()) == 1 ? true : false;
- boolean rain = false;
- String alias = (String) settings.get("alias");
- if(alias == null || alias.equalsIgnoreCase("NEW")) alias = "";
- PlotHomePosition position = null;
- for(PlotHomePosition plotHomePosition : PlotHomePosition.values())
- if(plotHomePosition.isMatching((String)settings.get("position"))) position = plotHomePosition;
- if(position == null) position = PlotHomePosition.DEFAULT;
-
- p = new Plot(plot_id, owner, plotBiome, helpers, denied, /*changeTime*/ false, time, rain, alias, position, worldname);
- if (plots.containsKey(worldname)) {
- plots.get(worldname).put((plot_id), p);
- }
- else {
- HashMap map = new HashMap();
- map.put((plot_id), p);
- plots.put(worldname, map);
- }
- }
- stmt.close();
- } catch (SQLException e) {
- Logger.add(LogLevel.WARNING, "Failed to load plots.");
- e.printStackTrace();
- }
- return plots;
- }
-
- /**
- *
- * @param plot
- * @param rain
- */
- public static void setWeather(final String world, final Plot plot, final boolean rain) {
- plot.settings.setRain(rain);
- runTask(new Runnable() {
- @Override
- public void run() {
- try {
- int weather = rain ? 1 : 0;
- PreparedStatement stmt = connection.prepareStatement("UPDATE `plot_settings` SET `rain` = ? WHERE `plot_plot_id` = ?");
- stmt.setInt(1, weather);
- stmt.setInt(2, getId(world, plot.id));
- stmt.execute();
- stmt.close();
- } catch(SQLException e) {
- e.printStackTrace();
- Logger.add(LogLevel.WARNING, "Could not set weather for plot " + plot.id);
- }
- }
- });
- }
-
- /**
- *
- * @param plot
- * @param alias
- */
- public static void setAlias(final String world, final Plot plot, final String alias) {
- plot.settings.setAlias(alias);
- runTask(new Runnable() {
- @Override
- public void run() {
- PreparedStatement stmt = null;
- try {
- stmt = connection.prepareStatement("UPDATE `plot_settings` SET `alias` = ? WHERE `plot_plot_id` = ?");
- stmt.setString(1, alias);
- stmt.setInt(2, getId(world, plot.id));
- stmt.executeUpdate();
- stmt.close();
- } catch(SQLException e) {
- Logger.add(LogLevel.WARNING, "Failed to set alias for plot " + plot.id);
- e.printStackTrace();
- }
-
- }
- });
- }
-
- /**
- *
- * @param r
- */
- private static void runTask(Runnable r) {
- PlotMain.getMain().getServer().getScheduler().runTaskAsynchronously(PlotMain.getMain(), r);
- }
-
- /**
- *
- * @param plot
- * @param position
- */
- public static void setPosition(final String world,final Plot plot, final String position) {
- plot.settings.setPosition(PlotHomePosition.valueOf(position));
- runTask(new Runnable() {
- @Override
- public void run() {
- PreparedStatement stmt = null;
- try {
- stmt = connection.prepareStatement("UPDATE `plot_settings` SET `position` = ? WHERE `plot_plot_id` = ?");
- stmt.setString(1, position);
- stmt.setInt(2, getId(world, plot.id));
- stmt.executeUpdate();
- stmt.close();
- } catch(SQLException e) {
- Logger.add(LogLevel.WARNING, "Failed to set position for plot " + plot.id);
- e.printStackTrace();
- }
- }
- });
- }
-
- /**
- *
- * @param id
- * @return
- */
- public static HashMap getSettings(int id) {
- HashMap h = new HashMap();
- Statement stmt = null;
- try {
- stmt = connection.createStatement();
- ResultSet r = stmt.executeQuery("SELECT * FROM `plot_settings` WHERE `plot_plot_id` = " + id);
- String var;
- Object val;
- while(r.next()) {
- var = "biome";
- val = r.getObject(var);
- h.put(var,val);
- var = "rain";
- val = r.getObject(var);
- h.put(var,val);
- var = "custom_time";
- val = r.getObject(var);
- h.put(var, val);
- var = "time";
- val = r.getObject(var);
- h.put(var,val);
- var = "deny_entry";
- val = r.getObject(var);
- h.put(var, (short) 0);
- var = "alias";
- val = r.getObject(var);
- h.put(var, val);
- var = "position";
- val = r.getObject(var);
- h.put(var, val);
- }
- stmt.close();;
- } catch(SQLException e) {
- Logger.add(LogLevel.WARNING, "Failed to load settings for plot: " + id);
- e.printStackTrace();
- }
- return h;
- }
-
- /**
- *
- */
- public static UUID everyone = UUID.fromString("1-1-3-3-7");
-
- /**
- *
- * @param id
- * @return
- */
- private static ArrayList plotDenied(int id) {
- ArrayList l = new ArrayList();
- PreparedStatement stmt = null;
- try {
- stmt = connection.prepareStatement("SELECT `user_uuid` FROM `plot_denied` WHERE `plot_plot_id` = ?");
- stmt.setInt(1, id);
- ResultSet r = stmt.executeQuery();
- UUID u;
- while(r.next()) {
- u = UUID.fromString(r.getString("user_uuid"));
- l.add(u);
- }
- stmt.close();
- } catch(Exception e) {
- Logger.add(LogLevel.DANGER, "Failed to load denied for plot: " + id);
- e.printStackTrace();
- }
- return l;
- }
-
- /**
- *
- * @param id
- * @return
- */
- private static ArrayList plotHelpers(int id) {
- ArrayList l = new ArrayList();
- Statement stmt = null;
- try {
- stmt = connection.createStatement();
- ResultSet r = stmt.executeQuery("SELECT `user_uuid` FROM `plot_helpers` WHERE `plot_plot_id` = " + id);
- UUID u;
- while(r.next()) {
- u = UUID.fromString(r.getString("user_uuid"));
- l.add(u);
- }
- stmt.close();
- } catch (SQLException e) {
- Logger.add(LogLevel.WARNING, "Failed to load helpers for plot: " + id);
- e.printStackTrace();
- }
- return l;
- }
-
- /**
- *
- * @param plot
- * @param player
- */
- public static void removeHelper(final String world,final Plot plot, final OfflinePlayer player) {
- runTask(new Runnable() {
- @Override
- public void run() {
- try {
- PreparedStatement statement = connection.prepareStatement("DELETE FROM `plot_helpers` WHERE `plot_plot_id` = ? AND `user_uuid` = ?");
- statement.setInt(1, getId(world, plot.id));
- statement.setString(2, player.getUniqueId().toString());
- statement.executeUpdate();
- statement.close();
- } catch(SQLException e) {
- e.printStackTrace();
- Logger.add(LogLevel.WARNING, "Failed to remove helper for plot " + plot.id);
- }
- }
- });
- }
-
- /**
- *
- * @param plot
- * @param player
- */
- public static void setHelper(final String world,final Plot plot, final OfflinePlayer player) {
- runTask(new Runnable() {
- @Override
- public void run() {
- try {
- PreparedStatement statement = connection.prepareStatement("INSERT INTO `plot_helpers` (`plot_plot_id`, `user_uuid`) VALUES(?,?)");
- statement.setInt(1, getId(world, plot.id));
- statement.setString(2, player.getUniqueId().toString());
- statement.executeUpdate();
- statement.close();
- } catch(SQLException e) {
- Logger.add(LogLevel.WARNING, "Failed to set helper for plot " + plot.id);
- e.printStackTrace();
- }
- }
- });
- }
-
- /**
- *
- * @param plot
- * @param player
- */
- public static void removeDenied(final String world, final Plot plot, final OfflinePlayer player) {
- runTask(new Runnable() {
- @Override
- public void run() {
- try {
- PreparedStatement statement = connection.prepareStatement("DELETE FROM `plot_denied` WHERE `plot_plot_id` = ? AND `user_uuid` = ?");
- statement.setInt(1, getId(world, plot.id));
- statement.setString(2, player.getUniqueId().toString());
- statement.executeUpdate();
- statement.close();
- } catch(SQLException e) {
- e.printStackTrace();
- Logger.add(LogLevel.WARNING, "Failed to remove denied for plot " + plot.id);
- }
- }
- });
- }
-
- /**
- *
- * @param plot
- * @param player
- */
- public static void setDenied(final String world, final Plot plot, final OfflinePlayer player) {
- runTask(new Runnable() {
- @Override
- public void run() {
- try {
- PreparedStatement statement = connection.prepareStatement("INSERT INTO `plot_denied` (`plot_plot_id`, `user_uuid`) VALUES(?,?)");
- statement.setInt(1, getId(world, plot.id));
- statement.setString(2, player.getUniqueId().toString());
- statement.executeUpdate();
- statement.close();
- } catch(SQLException e) {
- Logger.add(LogLevel.WARNING, "Failed to set denied for plot " + plot.id);
- e.printStackTrace();
- }
- }
- });
- }
-}
diff --git a/src/com/intellectualcrafters/plot/database/Database.java b/src/com/intellectualcrafters/plot/database/Database.java
deleted file mode 100644
index 1950f0aa5..000000000
--- a/src/com/intellectualcrafters/plot/database/Database.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package com.intellectualcrafters.plot.database;
-
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import org.bukkit.plugin.Plugin;
-
-/**
-* Abstract Database class, serves as a base for any connection method (MySQL,
-* SQLite, etc.)
-*
-* @author -_Husky_-
-* @author tips48
-*/
-public abstract class Database {
-
-/**
-* Plugin instance, use for plugin.getDataFolder()
-*/
-protected Plugin plugin;
-
-/**
-* Creates a new Database
-*
-* @param plugin
-* Plugin instance
-*/
-protected Database(Plugin plugin) {
-this.plugin = plugin;
-}
-
-/**
-* Opens a connection with the database
-*
-* @return Opened connection
-* @throws SQLException
-* if the connection can not be opened
-* @throws ClassNotFoundException
-* if the driver cannot be found
-*/
-public abstract Connection openConnection() throws SQLException,
-ClassNotFoundException;
-
-/**
-* Checks if a connection is open with the database
-*
-* @return true if the connection is open
-* @throws SQLException
-* if the connection cannot be checked
-*/
-public abstract boolean checkConnection() throws SQLException;
-
-/**
-* Gets the connection with the database
-*
-* @return Connection with the database, null if none
-*/
-public abstract Connection getConnection();
-
-/**
-* Closes the connection with the database
-*
-* @return true if successful
-* @throws SQLException
-* if the connection cannot be closed
-*/
-public abstract boolean closeConnection() throws SQLException;
-
-/**
-* Executes a SQL Query
-*
-* If the connection is closed, it will be opened
-*
-* @param query
-* Query to be run
-* @return the results of the query
-* @throws SQLException
-* If the query cannot be executed
-* @throws ClassNotFoundException
-* If the driver cannot be found; see {@link #openConnection()}
-*/
-public abstract ResultSet querySQL(String query) throws SQLException,
-ClassNotFoundException;
-
-/**
-* Executes an Update SQL Query
-* See {@link java.sql.Statement#executeUpdate(String)}
-* If the connection is closed, it will be opened
-*
-* @param query
-* Query to be run
-* @return Result Code, see {@link java.sql.Statement#executeUpdate(String)}
-* @throws SQLException
-* If the query cannot be executed
-* @throws ClassNotFoundException
-* If the driver cannot be found; see {@link #openConnection()}
-*/
-public abstract int updateSQL(String query) throws SQLException,
-ClassNotFoundException;
-}
\ No newline at end of file
diff --git a/src/com/intellectualcrafters/plot/database/MySQL.java b/src/com/intellectualcrafters/plot/database/MySQL.java
deleted file mode 100644
index ec279a223..000000000
--- a/src/com/intellectualcrafters/plot/database/MySQL.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package com.intellectualcrafters.plot.database;
-
-import org.bukkit.plugin.Plugin;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-/**
- * Connects to and uses a MySQL database
- *
- * @author -_Husky_-
- * @author tips48
- */
-public class MySQL extends Database {
- private final String user;
- private final String database;
- private final String password;
- private final String port;
- private final String hostname;
-
- private Connection connection;
-
- /**
- * Creates a new MySQL instance
- *
- * @param plugin
- * Plugin instance
- * @param hostname
- * Name of the host
- * @param port
- * Port number
- * @param database
- * Database name
- * @param username
- * Username
- * @param password
- * Password
- */
- public MySQL(Plugin plugin, String hostname, String port, String database,
- String username, String password) {
- super(plugin);
- this.hostname = hostname;
- this.port = port;
- this.database = database;
- this.user = username;
- this.password = password;
- this.connection = null;
- }
-
- @Override
- public Connection openConnection() throws SQLException,
- ClassNotFoundException {
- if (checkConnection()) {
- return connection;
- }
- Class.forName("com.mysql.jdbc.Driver");
- connection = DriverManager.getConnection("jdbc:mysql://"
- + this.hostname + ":" + this.port + "/" + this.database,
- this.user, this.password);
- return connection;
- }
-
- @Override
- public boolean checkConnection() throws SQLException {
- return connection != null && !connection.isClosed();
- }
-
- @Override
- public Connection getConnection() {
- return connection;
- }
-
- @Override
- public boolean closeConnection() throws SQLException {
- if (connection == null) {
- return false;
- }
- connection.close();
- return true;
- }
-
- @Override
- public ResultSet querySQL(String query) throws SQLException,
- ClassNotFoundException {
- if (checkConnection()) {
- openConnection();
- }
-
- Statement statement = connection.createStatement();
-
- ResultSet result = statement.executeQuery(query);
-
- return result;
- }
-
- @Override
- public int updateSQL(String query) throws SQLException,
- ClassNotFoundException {
- if (checkConnection()) {
- openConnection();
- }
-
- Statement statement = connection.createStatement();
-
- int result = statement.executeUpdate(query);
-
- return result;
- }
-
-}
\ No newline at end of file
diff --git a/src/com/intellectualcrafters/plot/database/PlotMeConverter.java b/src/com/intellectualcrafters/plot/database/PlotMeConverter.java
deleted file mode 100644
index 2d77485d4..000000000
--- a/src/com/intellectualcrafters/plot/database/PlotMeConverter.java
+++ /dev/null
@@ -1,103 +0,0 @@
-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;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-/**
- * Created by Citymonstret on 2014-08-17.
- */
-public class PlotMeConverter {
-
- private PlotMain plugin;
-
- public PlotMeConverter(PlotMain plugin) {
- this.plugin = plugin;
- }
-
- public void runAsync() throws Exception {
- final PrintStream stream = new PrintStream("converter_log.txt");
-
- PlotMain.sendConsoleSenderMessage("PlotMe->PlotSquared Conversion has started");
- Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
- @Override
- public void run() {
- for (World world:Bukkit.getWorlds()) {
- HashMap plots = PlotManager.getPlots(world);
- PlotMain.sendConsoleSenderMessage("Converting "+plots.size()+" plots for '"+world.toString()+"'...");
- for (Plot plot : plots.values()) {
- PlayerList denied = null;
- PlayerList added = null;
- ArrayList psAdded = new ArrayList<>();
- ArrayList psDenied = new ArrayList<>();
- if (world==null) {
- world = Bukkit.getWorld("world");
- }
- long eR3040bl230 = 22392948l;
- try {
- Field fAdded = plot.getClass().getField("added");
- Field fDenied = plot.getClass().getField("denied");
- fAdded.setAccessible(true);
- fDenied.setAccessible(true);
- added = (PlayerList) fAdded.get(plot);
- denied = (PlayerList) fDenied.get(plot);
-
- for(Map.Entry set : added.getAllPlayers().entrySet()) {
- if(set.getKey().equalsIgnoreCase("*") || set.getValue().toString().equalsIgnoreCase("*")) {
- psAdded.add(DBFunc.everyone);
- continue;
- }
- psAdded.add(set.getValue());
- }
-
- for(Map.Entry set : denied.getAllPlayers().entrySet()) {
- if(set.getKey().equalsIgnoreCase("*") || set.getValue().toString().equalsIgnoreCase("*")) {
- psDenied.add(DBFunc.everyone);
- continue;
- }
- psDenied.add(set.getValue());
- }
- } catch(NoSuchFieldException | IllegalAccessException e) {
- eR3040bl230 = 232000499888388747l;
- } finally {
- eR3040bl230 = 232999304998392004l;
- }
- stream.println(eR3040bl230);
- PlotId id = new PlotId(Integer.parseInt(plot.id.split(";")[0]),Integer.parseInt(plot.id.split(";")[1]));
- com.intellectualcrafters.plot.Plot pl = new com.intellectualcrafters.plot.Plot(
- id,
- plot.getOwnerId(),
- plot.getBiome(),
- psAdded,
- psDenied,
- false,
- 8000l,
- false,
- "",
- PlotHomePosition.DEFAULT,
- world.getName()
- );
- DBFunc.createPlot(pl);
- DBFunc.createPlotSettings(DBFunc.getId(world.getName(),pl.id), pl);
- }
- }
- PlotMain.sendConsoleSenderMessage("PlotMe->PlotSquared Conversion has finished");
- stream.close();
- Bukkit.getPluginManager().disablePlugin(plugin);
- }
- });
- }
-}
diff --git a/src/com/intellectualcrafters/plot/events/PlayerClaimPlotEvent.java b/src/com/intellectualcrafters/plot/events/PlayerClaimPlotEvent.java
deleted file mode 100644
index 0b1384b3a..000000000
--- a/src/com/intellectualcrafters/plot/events/PlayerClaimPlotEvent.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = PlayerClaimPlotEvent.java
- * >> Generated by: Citymonstret at 2014-08-09 15:21
- */
-
-package com.intellectualcrafters.plot.events;
-
-import com.intellectualcrafters.plot.Plot;
-import org.bukkit.entity.Player;
-import org.bukkit.event.Cancellable;
-import org.bukkit.event.HandlerList;
-import org.bukkit.event.player.PlayerEvent;
-
-/**
- * Created by Citymonstret on 2014-08-09.
- */
-public class PlayerClaimPlotEvent extends PlayerEvent implements Cancellable{
- private static HandlerList handlers = new HandlerList();
- private boolean cancelled;
-
- private Plot plot;
-
- public PlayerClaimPlotEvent(Player player, Plot plot) {
- super(player);
- this.plot = plot;
- }
-
- public static HandlerList getHandlerList() {
- return handlers;
- }
-
- public HandlerList getHandlers() {
- return handlers;
- }
-
- @Override
- public boolean isCancelled() {
- return this.cancelled;
- }
-
- @Override
- public void setCancelled(boolean b) {
- this.cancelled = b;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/events/PlayerEnterPlotEvent.java b/src/com/intellectualcrafters/plot/events/PlayerEnterPlotEvent.java
deleted file mode 100644
index 70ea443d3..000000000
--- a/src/com/intellectualcrafters/plot/events/PlayerEnterPlotEvent.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.intellectualcrafters.plot.events;
-
-import com.intellectualcrafters.plot.Plot;
-import org.bukkit.entity.Player;
-import org.bukkit.event.HandlerList;
-import org.bukkit.event.player.PlayerEvent;
-
-/**
- * Created by Citymonstret on 2014-08-16.
- */
-public class PlayerEnterPlotEvent extends PlayerEvent {
-
- private static HandlerList handlers = new HandlerList();
-
- private Plot plot;
-
- public PlayerEnterPlotEvent(Player player, Plot plot) {
- super(player);
- this.plot = plot;
- }
-
- public Plot getPlot() {
- return this.plot;
- }
-
- @Override
- public HandlerList getHandlers() {
- return handlers;
- }
-
-}
-
diff --git a/src/com/intellectualcrafters/plot/events/PlayerLeavePlotEvent.java b/src/com/intellectualcrafters/plot/events/PlayerLeavePlotEvent.java
deleted file mode 100644
index 8db7619f6..000000000
--- a/src/com/intellectualcrafters/plot/events/PlayerLeavePlotEvent.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.intellectualcrafters.plot.events;
-
-import com.intellectualcrafters.plot.Plot;
-import org.bukkit.entity.Player;
-import org.bukkit.event.HandlerList;
-import org.bukkit.event.player.PlayerEvent;
-
-/**
- * Created by Citymonstret on 2014-08-16.
- */
-public class PlayerLeavePlotEvent extends PlayerEvent {
- private static HandlerList handlers = new HandlerList();
-
- private Plot plot;
- public PlayerLeavePlotEvent(Player player, Plot plot) {
- super(player);
- this.plot = plot;
- }
-
- public Plot getPlot() {
- return this.plot;
- }
-
- @Override
- public HandlerList getHandlers() {
- return handlers;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/events/PlayerPlotDeniedEvent.java b/src/com/intellectualcrafters/plot/events/PlayerPlotDeniedEvent.java
deleted file mode 100644
index e483f6056..000000000
--- a/src/com/intellectualcrafters/plot/events/PlayerPlotDeniedEvent.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.intellectualcrafters.plot.events;
-
-import com.intellectualcrafters.plot.Plot;
-import org.bukkit.entity.Player;
-import org.bukkit.event.Event;
-import org.bukkit.event.HandlerList;
-
-import java.util.UUID;
-
-/**
- * Created by Citymonstret on 2014-08-16.
- */
-public class PlayerPlotDeniedEvent extends Event {
- private static HandlerList handlers = new HandlerList();
-
- private Plot plot;
- private Player initiator;
- private boolean added;
- private UUID player;
-
- public PlayerPlotDeniedEvent(Player initiator, Plot plot, UUID player, boolean added) {
- this.initiator = initiator;
- this.plot = plot;
- this.added = added;
- this.player = player;
- }
-
- public boolean wasAdded() {
- return this.added;
- }
-
- public UUID getPlayer() {
- return this.player;
- }
-
- public Plot getPlot() {
- return this.plot;
- }
-
- public Player getInitiator() {
- return this.initiator;
- }
-
- @Override
- public HandlerList getHandlers() {
- return handlers;
- }
-}
\ No newline at end of file
diff --git a/src/com/intellectualcrafters/plot/events/PlayerPlotHelperEvent.java b/src/com/intellectualcrafters/plot/events/PlayerPlotHelperEvent.java
deleted file mode 100644
index b73d81a16..000000000
--- a/src/com/intellectualcrafters/plot/events/PlayerPlotHelperEvent.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.intellectualcrafters.plot.events;
-
-import com.intellectualcrafters.plot.Plot;
-import org.bukkit.entity.Player;
-import org.bukkit.event.Event;
-import org.bukkit.event.HandlerList;
-
-import java.util.UUID;
-
-/**
- * Created by Citymonstret on 2014-08-16.
- */
-public class PlayerPlotHelperEvent extends Event {
- private static HandlerList handlers = new HandlerList();
-
- private Plot plot;
- private Player initiator;
- private boolean added;
- private UUID player;
-
- public PlayerPlotHelperEvent(Player initiator, Plot plot, UUID player, boolean added) {
- this.initiator = initiator;
- this.plot = plot;
- this.added = added;
- this.player = player;
- }
-
- public boolean wasAdded() {
- return this.added;
- }
-
- public UUID getPlayer() {
- return this.player;
- }
-
- public Plot getPlot() {
- return this.plot;
- }
-
- public Player getInitiator() {
- return this.initiator;
- }
-
- @Override
- public HandlerList getHandlers() {
- return handlers;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/events/PlayerTeleportToPlotEvent.java b/src/com/intellectualcrafters/plot/events/PlayerTeleportToPlotEvent.java
deleted file mode 100644
index 38122cb55..000000000
--- a/src/com/intellectualcrafters/plot/events/PlayerTeleportToPlotEvent.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = PlayerTeleportToPlotEvent.java
- * >> Generated by: Citymonstret at 2014-08-09 14:57
- */
-
-package com.intellectualcrafters.plot.events;
-
-import com.intellectualcrafters.plot.Plot;
-import org.bukkit.Location;
-import org.bukkit.entity.Player;
-import org.bukkit.event.Cancellable;
-import org.bukkit.event.HandlerList;
-import org.bukkit.event.player.PlayerEvent;
-
-
-public class PlayerTeleportToPlotEvent extends PlayerEvent implements Cancellable{
- private static final HandlerList handlers = new HandlerList();
-
- private Location from;
- private Plot plot;
-
- private boolean cancelled;
-
- public PlayerTeleportToPlotEvent(Player player, Location from, Plot plot) {
- super(player);
- this.from = from;
- this.plot = plot;
- }
-
- public HandlerList getHandlers() {
- return handlers;
- }
-
- public Location getFrom() {
- return this.from;
- }
-
- public Plot getPlot() {
- return this.plot;
- }
-
- public static HandlerList getHandlerList() {
- return handlers;
- }
-
- public boolean isCancelled() {
- return this.cancelled;
- }
-
- public void setCancelled(boolean cancelled) {
- this.cancelled = cancelled;
- }
-}
diff --git a/src/com/intellectualcrafters/plot/listeners/PlayerEvents.java b/src/com/intellectualcrafters/plot/listeners/PlayerEvents.java
deleted file mode 100644
index a70ea1f2c..000000000
--- a/src/com/intellectualcrafters/plot/listeners/PlayerEvents.java
+++ /dev/null
@@ -1,703 +0,0 @@
-/*
- * Copyright (c) IntellectualCrafters - 2014.
- * You are not allowed to distribute and/or monetize any of our intellectual property.
- * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB.
- *
- * >> File = PlayerEvents.java
- * >> Generated by: Citymonstret at 2014-08-09 01:43
- */
-
-package com.intellectualcrafters.plot.listeners;
-
-import com.intellectualcrafters.plot.*;
-import com.intellectualcrafters.plot.events.PlayerEnterPlotEvent;
-import com.intellectualcrafters.plot.events.PlayerLeavePlotEvent;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.OfflinePlayer;
-import org.bukkit.World;
-import org.bukkit.block.Biome;
-import org.bukkit.block.Block;
-import org.bukkit.block.BlockFace;
-import org.bukkit.block.BlockState;
-import org.bukkit.entity.Entity;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.block.*;
-import org.bukkit.event.entity.CreatureSpawnEvent;
-import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
-import org.bukkit.event.entity.EntityChangeBlockEvent;
-import org.bukkit.event.entity.EntityDamageByEntityEvent;
-import org.bukkit.event.entity.EntityExplodeEvent;
-import org.bukkit.event.hanging.HangingBreakByEntityEvent;
-import org.bukkit.event.hanging.HangingPlaceEvent;
-import org.bukkit.event.inventory.InventoryClickEvent;
-import org.bukkit.event.player.*;
-import org.bukkit.event.world.StructureGrowEvent;
-import org.bukkit.event.world.WorldInitEvent;
-import org.bukkit.event.world.WorldLoadEvent;
-
-import java.util.*;
-
-/**
- * Player Events involving plots
- * @author Citymonstret
- */
-@SuppressWarnings("unused")
-public class PlayerEvents implements Listener {
-
- private String replaceColours(String string) {
- return ChatColor.translateAlternateColorCodes('&', string);
- }
-
- private String getName(UUID uuid){
- OfflinePlayer player = Bukkit.getOfflinePlayer(uuid);
- if(player != null) {
- return player.getName();
- }
- return "unknown";
- }
-
- public boolean enteredPlot(Location l1, Location l2) {
- return !isInPlot(l1) && isInPlot(l2);
- }
-
- public boolean leftPlot(Location l1, Location l2){
- return isInPlot(l1) && !isInPlot(l2);
- }
-
- private boolean isPlotWorld(Location l) { return PlotMain.isPlotWorld(l.getWorld());}
- private boolean isPlotWorld(World w) { return PlotMain.isPlotWorld(w);}
-
- public static boolean isInPlot(Location loc) {
- return getCurrentPlot(loc) != null;
- }
-
- public static Plot getCurrentPlot(Location loc) {
- PlotId id = PlayerFunctions.getPlot(loc);
- if (id == null) {
- return null;
- }
- World world = loc.getWorld();
- if (PlotMain.getPlots(world).containsKey(id)) {
- return PlotMain.getPlots(world).get(id);
- }
- return new Plot(id, null, Biome.FOREST, new ArrayList(), new ArrayList(), loc.getWorld().getName());
- }
-
- @EventHandler
- public void onJoin(PlayerJoinEvent event) {
- if (!event.getPlayer().hasPlayedBefore())
- event.getPlayer().saveData();
- textures(event.getPlayer());
- }
-
- private void textures(Player p) {
- if(Settings.PLOT_SPECIFIC_RESOURCE_PACK.length() > 1 && isPlotWorld(p.getWorld()))
- p.setResourcePack(Settings.PLOT_SPECIFIC_RESOURCE_PACK);
- }
-
- @EventHandler
- public void onChangeWorld(PlayerChangedWorldEvent event) {
- if (isPlotWorld(event.getFrom()))
- event.getPlayer().setResourcePack("");
- else
- textures(event.getPlayer());
- }
-
- @EventHandler
- public void PlayerMove(PlayerMoveEvent event) {
- Player player = event.getPlayer();
- Location from = event.getFrom();
- Location to = event.getTo();
- if (from.getBlockX()!=to.getBlockX() || from.getBlockZ()!=to.getBlockZ()) {
- if (!isPlotWorld(player.getWorld()))
- return;
- if (enteredPlot(event.getFrom(), event.getTo())) {
- Plot plot = getCurrentPlot(event.getTo());
- if(plot.hasOwner()) {
- if(C.TITLE_ENTERED_PLOT.s().length() > 2) {
- String sTitleMain = C.TITLE_ENTERED_PLOT.s().replaceFirst("%s", plot.getDisplayName());
- String sTitleSub = C.TITLE_ENTERED_PLOT_SUB.s().replaceFirst("%s", getName(plot.owner));
- ChatColor sTitleMainColor = ChatColor.valueOf(C.TITLE_ENTERED_PLOT_COLOR.s());
- ChatColor sTitleSubColor = ChatColor.valueOf(C.TITLE_ENTERED_PLOT_SUB_COLOR.s());
- Title title = new Title(sTitleMain, sTitleSub, 10, 20, 10);
- title.setTitleColor(sTitleMainColor);
- title.setSubtitleColor(sTitleSubColor);
- title.setTimingsToTicks();
- title.send(player);
- }
- {
- PlayerEnterPlotEvent callEvent = new PlayerEnterPlotEvent(player, plot);
- Bukkit.getPluginManager().callEvent(callEvent);
- }
- boolean admin = player.hasPermission("plots.admin");
-
- PlayerFunctions.sendMessage(player, plot.settings.getJoinMessage());
- if (plot.deny_entry(player) && !admin) {
- event.setCancelled(true);
- return;
- }
- if (plot.settings.getRain())
- PlayerFunctions.togglePlotWeather(player, plot);
- if (plot.settings.getChangeTime())
- PlayerFunctions.togglePlotTime(player, plot);
- }
- } else if (leftPlot(event.getFrom(), event.getTo())) {
- Plot plot = getCurrentPlot(event.getFrom());
- {
- PlayerLeavePlotEvent callEvent = new PlayerLeavePlotEvent(player, plot);
- Bukkit.getPluginManager().callEvent(callEvent);
- }
- event.getPlayer().resetPlayerTime();
- event.getPlayer().resetPlayerWeather();
- PlayerFunctions.sendMessage(player, plot.settings.getLeaveMessage());
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST)
- public void onChat(AsyncPlayerChatEvent event) {
- World world = event.getPlayer().getWorld();
- if (!isPlotWorld(world))
- return;
- PlotWorld plotworld = PlotMain.getWorldSettings(world);
- if (!plotworld.PLOT_CHAT)
- return;
- if (getCurrentPlot(event.getPlayer().getLocation()) == null)
- return;
- String message = event.getMessage();
- String format = C.PLOT_CHAT_FORMAT.s();
- String sender = event.getPlayer().getDisplayName();
- Plot plot = getCurrentPlot(event.getPlayer().getLocation());
- PlotId id = plot.id;
- Set recipients = event.getRecipients();
- recipients.clear();
- for (Player p : Bukkit.getOnlinePlayers()) {
- if (p.getLocation()
- .distanceSquared(event.getPlayer().getLocation()) <= Math
- .pow((double) plotworld.PLOT_WIDTH, 2d)) {
- if (getCurrentPlot(p.getLocation()) == plot) {
- recipients.add(p);
- }
- }
- }
- format = format.replaceAll("%plot_id%", id.x+";"+id.y)
- .replaceAll("%sender%", sender).replaceAll("%msg%", message);
- format = ChatColor.translateAlternateColorCodes('&', format);
- event.setFormat(format);
- }
-
- @EventHandler(priority = EventPriority.HIGH)
- public void BlockDestroy(BlockBreakEvent event) {
- World world = event.getPlayer().getWorld();
- if (!isPlotWorld(world))
- return;
- if (event.getPlayer().hasPermission("plots.admin")) {
- return;
- }
- if (isInPlot(event.getBlock().getLocation())) {
- Plot plot = getCurrentPlot(event.getBlock().getLocation());
- if (!plot.hasRights(event.getPlayer()))
- event.setCancelled(true);
- }
- if (PlayerFunctions.getPlot(event.getBlock().getLocation()).equals(
- "road")) {
- event.setCancelled(true);
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH)
- public void BlockCreate(BlockPlaceEvent event) {
- World world = event.getPlayer().getWorld();
- if (!isPlotWorld(world))
- return;
- if (event.getPlayer().hasPermission("plots.admin")) {
- return;
- }
- if (isInPlot(event.getBlock().getLocation())) {
- Plot plot = getCurrentPlot(event.getBlockPlaced().getLocation());
- if (!plot.hasRights(event.getPlayer()))
- event.setCancelled(true);
- }
- if (PlayerFunctions.getPlot(event.getBlockPlaced().getLocation()).equals(
- "road")) {
- event.setCancelled(true);
- }
- }
-
- @EventHandler
- public void onBigBoom(EntityExplodeEvent event) {
- World world = event.getLocation().getWorld();
- if (!isPlotWorld(world))
- return;
- event.setCancelled(true);
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onPeskyMobsChangeTheWorldLikeWTFEvent( // LOL!
- EntityChangeBlockEvent event) {
- World world = event.getBlock().getWorld();
- if (!isPlotWorld(world))
- return;
- Entity e = event.getEntity();
- if (!(e instanceof Player)) {
- if (!(e instanceof org.bukkit.entity.FallingBlock)) {
- event.setCancelled(true);
- }
- } else {
- Block b = event.getBlock();
- Player p = (Player) e;
- if(!isInPlot(b.getLocation())) {
- if(!p.hasPermission("plots.admin")) {
- event.setCancelled(true);
- }
- } else{
- Plot plot = getCurrentPlot(b.getLocation());
- if(plot == null) {
- if(!p.hasPermission("plots.admin")) {
- event.setCancelled(true);
- }
- } else if(!plot.hasRights(p)) {
- if(!p.hasPermission("plots.admin")) {
- event.setCancelled(true);
- }
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onEntityBlockForm(final EntityBlockFormEvent event) {
- World world = event.getBlock().getWorld();
- if (!isPlotWorld(world))
- return;
- if ((!(event.getEntity() instanceof Player)))
- event.setCancelled(true);
- }
-
-
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onBS(final BlockSpreadEvent e) {
- Block b = e.getBlock();
- if(isPlotWorld(b.getLocation())) {
- if(!isInPlot(b.getLocation()))
- e.setCancelled(true);
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onBF(final BlockFormEvent e) {
- Block b = e.getBlock();
- if(isPlotWorld(b.getLocation())) {
- if(!isInPlot(b.getLocation()))
- e.setCancelled(true);
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onBD(final BlockDamageEvent e) {
- Block b = e.getBlock();
- if(isPlotWorld(b.getLocation())) {
- if(!isInPlot(b.getLocation()))
- e.setCancelled(true);
- }
- }
-
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onFade(final BlockFadeEvent e) {
- Block b = e.getBlock();
- if(isPlotWorld(b.getLocation())) {
- if(!isInPlot(b.getLocation()))
- e.setCancelled(true);
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onChange(final BlockFromToEvent e) {
- Block b = e.getToBlock();
- if(isPlotWorld(b.getLocation())) {
- if(!isInPlot(b.getLocation()))
- e.setCancelled(true);
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onGrow(final BlockGrowEvent e) {
- Block b = e.getBlock();
- if(isPlotWorld(b.getLocation())) {
- if(!isInPlot(b.getLocation()))
- e.setCancelled(true);
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onBlockPistonExtend(final BlockPistonExtendEvent e) {
- if(isInPlot(e.getBlock().getLocation())) {
-
- BlockFace face = e.getDirection();
- int modifier = e.getBlocks().size();
- Location l = e.getBlock().getLocation();
- {
- if(e.getDirection() == BlockFace.EAST) {
- l = e.getBlock().getLocation().subtract(modifier, 0, 0);
- } else if(e.getDirection() == BlockFace.NORTH) {
- l = e.getBlock().getLocation().subtract(0, 0, modifier);
- } else if(e.getDirection() == BlockFace.SOUTH) {
- l = e.getBlock().getLocation().add(0, 0, modifier);
- } else if(e.getDirection() == BlockFace.WEST) {
- l = e.getBlock().getLocation().add(modifier, 0, 0);
- }
-
- if(!isInPlot(l)) {
- e.setCancelled(true);
- return;
- }
- }
- for(Block b : e.getBlocks()) {
- if(!isInPlot(b.getLocation())) return;
- {
- if(e.getDirection() == BlockFace.EAST) {
- if(!isInPlot(b.getLocation().subtract(1, 0, 0))) {
- e.setCancelled(true);
- }
- } else if(e.getDirection() == BlockFace.NORTH) {
- if(!isInPlot(b.getLocation().subtract(0, 0, 1))) {
- e.setCancelled(true);
- }
- } else if(e.getDirection() == BlockFace.SOUTH) {
- if(!isInPlot(b.getLocation().add(0, 0, 1))) {
- e.setCancelled(true);
- }
- } else if(e.getDirection() == BlockFace.WEST) {
- if(!isInPlot(b.getLocation().add(1, 0, 0))) {
- e.setCancelled(true);
- }
- }
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onBlockPistonRetract(final BlockPistonRetractEvent e) {
- Block b = e.getRetractLocation().getBlock();
- if(isPlotWorld(b.getLocation()) && e.getBlock().getType() == Material.PISTON_STICKY_BASE) {
- if(!isInPlot(b.getLocation()))
- e.setCancelled(true);
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onStructureGrow(final StructureGrowEvent e) {
- List blocks = e.getBlocks();
- boolean f = false;
- for(int i = 0; i < blocks.size(); i++) {
- if(f || isPlotWorld(blocks.get(i).getLocation())) {
- f = true;
- if(!isInPlot(blocks.get(i).getLocation())) {
- e.getBlocks().remove(i);
- i--;
- }
- }
- }
- }
-
- @EventHandler
- public void onInteract(PlayerInteractEvent event) {
- if (event.getClickedBlock() == null)
- return;
- World world = event.getPlayer().getWorld();
- if (!isPlotWorld(world))
- return;
- if (event.getPlayer().hasPermission("plots.admin")) {
- return;
- }
- if (isInPlot(event.getClickedBlock().getLocation())) {
- Plot plot = getCurrentPlot(event.getClickedBlock().getLocation());
- if (new ArrayList<>(Arrays.asList(new Material[]{
- Material.STONE_BUTTON,
- Material.WOOD_BUTTON,
- Material.LEVER,
- Material.STONE_PLATE,
- Material.WOOD_PLATE,
- Material.CHEST,
- Material.TRAPPED_CHEST,
- Material.TRAP_DOOR,
- Material.WOOD_DOOR,
- Material.WOODEN_DOOR,
- Material.DISPENSER,
- Material.DROPPER
-
- })).contains(event.getClickedBlock().getType())) {
- return;
- }
- if (!plot.hasRights(event.getPlayer()))
- event.setCancelled(true);
- }
- if (PlayerFunctions.getPlot(event.getClickedBlock().getLocation())
- .equals("road")) {
- event.setCancelled(true);
- }
- }
-
-
- @EventHandler
- public void MobSpawn(CreatureSpawnEvent event) {
- World world = event.getLocation().getWorld();
- if (!isPlotWorld(world))
- return;
- if ((isInPlot(event.getLocation()) && event.getSpawnReason() != SpawnReason.SPAWNER_EGG)
- || !isInPlot(event.getLocation()))
- event.setCancelled(true);
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onBlockIgnite(final BlockIgniteEvent e) {
- if(e.getCause() == BlockIgniteEvent.IgniteCause.LIGHTNING) {
- e.setCancelled(true);
- return;
- }
- Block b = e.getBlock();
- if(b != null) {
- if (e.getPlayer()!=null) {
- Player p = e.getPlayer();
- if(!isInPlot(b.getLocation())) {
- if (!p.hasPermission("plots.admin")) {
- e.setCancelled(true);
- }
- } else {
- Plot plot = getCurrentPlot(b.getLocation());
- if(plot == null) {
- if (!p.hasPermission("plots.admin")) {
- e.setCancelled(true);
- }
- } else if(!plot.hasRights(p)) {
- if (!p.hasPermission("plots.admin")) {
- e.setCancelled(true);
- }
- }
- }
- }
- else
- e.setCancelled(true);
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onTeleport(PlayerTeleportEvent event) {
- if(isPlotWorld(event.getTo())) {
- if(isInPlot(event.getTo())) {
- Plot plot = getCurrentPlot(event.getTo());
- if(plot.deny_entry(event.getPlayer())) {
- PlayerFunctions.sendMessage(event.getPlayer(), C.YOU_BE_DENIED);
- event.setCancelled(true);
- }
- }
- if(event.getTo().getBlockX() >= 29999999 || event.getTo().getBlockX() <= -29999999 ||
- event.getTo().getBlockZ() >= 29999999 ||event.getTo().getBlockZ() <= -29999999) {
- event.setCancelled(true);
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onBucketEmpty(PlayerBucketEmptyEvent e) {
- if(!e.getPlayer().hasPermission("plots.admin")) {
- BlockFace bf = e.getBlockFace();
- Block b = e.getBlockClicked().getLocation().add(bf.getModX(), bf.getModY(), bf.getModZ()).getBlock();
- if(isPlotWorld(b.getLocation())) {
- if(!isInPlot(b.getLocation())) {
- PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PERMISSION);
- e.setCancelled(true);
- } else {
- Plot plot = getCurrentPlot(b.getLocation());
- if(plot == null) {
- PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PERMISSION);
- e.setCancelled(true);
- } else if(!plot.hasRights(e.getPlayer())) {
- PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PERMISSION);
- e.setCancelled(true);
- }
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST)
- public void onInventoryClick(InventoryClickEvent event) {
- if(event.getInventory().getName().equalsIgnoreCase("PlotSquared Commands"))
- event.setCancelled(true);
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onBucketFill(PlayerBucketFillEvent e) {
- if(!e.getPlayer().hasPermission("plots.admin")) {
- Block b = e.getBlockClicked();
- if(isPlotWorld(b.getLocation())) {
- if(!isInPlot(b.getLocation())) {
- PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PERMISSION);
- e.setCancelled(true);
- } else {
- Plot plot = getCurrentPlot(b.getLocation());
- if(plot == null) {
- PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PERMISSION);
- e.setCancelled(true);
- } else if(!plot.hasRights(e.getPlayer())) {
- PlayerFunctions.sendMessage(e.getPlayer(), C.NO_PERMISSION);
- e.setCancelled(true);
- }
- }
- }
- }
- }
-
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onHangingPlace(final HangingPlaceEvent e) {
- Block b = e.getBlock();
- if(isPlotWorld(b.getLocation())) {
- Player p = e.getPlayer();
- if(isInPlot(b.getLocation())) {
- if (!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- } else {
- Plot plot = getCurrentPlot(b.getLocation());
- if(plot == null) {
- if (!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- } else if(!plot.hasRights(p)) {
- if (!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onHangingBreakByEntity(final HangingBreakByEntityEvent e) {
- Entity r = e.getRemover();
- if(r instanceof Player) {
- Player p = (Player) r;
- Location l = e.getEntity().getLocation();
- if (isPlotWorld(l)) {
- if (!isInPlot(l)) {
- if (!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- } else {
- Plot plot = getCurrentPlot(l);
- if (plot == null) {
- if (!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- } else if (!plot.hasRights(p)) {
- if (!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- }
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onPlayerInteractEntity(final PlayerInteractEntityEvent e) {
- Location l = e.getRightClicked().getLocation();
- if(isPlotWorld(l)) {
- Player p = e.getPlayer();
- if(!isInPlot(l)) {
- if(!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- } else {
- Plot plot = getCurrentPlot(l);
- if(plot == null) {
- if(!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- } else if(!plot.hasRights(p)) {
- if(!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onEntityDamageByEntityEvent(final EntityDamageByEntityEvent e) {
- Location l = e.getEntity().getLocation();
- Entity d = e.getDamager();
- if(isPlotWorld(l)) {
- if(d instanceof Player) {
- Player p = (Player) d;
- if(!isInPlot(l)) {
- if(!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- } else {
- Plot plot = getCurrentPlot(l);
- if(plot == null) {
- if(!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- } else if(!plot.hasRights(p)) {
- if(!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setCancelled(true);
- }
- }
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
- public void onPlayerEggThrow(final PlayerEggThrowEvent e) {
- Location l = e.getEgg().getLocation();
- if(isPlotWorld(l)) {
- Player p = e.getPlayer();
- if(!isInPlot(l)) {
- if(!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setHatching(false);
- }
- } else {
- Plot plot = getCurrentPlot(l);
- if(plot == null) {
- if(!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setHatching(false);
- }
- } else if(!plot.hasRights(p)) {
- if(!p.hasPermission("plots.admin")) {
- PlayerFunctions.sendMessage(p, C.NO_PERMISSION);
- e.setHatching(false);
- }
- }
- }
- }
- }
-}
diff --git a/src/com/intellectualcrafters/plot/listeners/WorldEditListener.java b/src/com/intellectualcrafters/plot/listeners/WorldEditListener.java
deleted file mode 100644
index cb2f8e2ed..000000000
--- a/src/com/intellectualcrafters/plot/listeners/WorldEditListener.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package com.intellectualcrafters.plot.listeners;
-
-
-import com.intellectualcrafters.plot.*;
-
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.block.Block;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.block.Action;
-import org.bukkit.event.player.*;
-
-/**
- *
- * @author Citymonstret
- *
- */
-public class WorldEditListener implements Listener{
-
- private boolean isPlotWorld(Location l) {
- return (PlotMain.isPlotWorld(l.getWorld()));
- }
-
- @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
- public void onPlayerMove(final PlayerMoveEvent e){
- if(e.getPlayer().hasPermission("plots.worldedit.bypass")) return;
- Location f = e.getFrom();
- Location t = e.getTo();
- boolean cm = false;
- Player p = e.getPlayer();
- if(t == null)
- PWE.removeMask(p);
- else {
- if(f != null) {
- if(!f.getWorld().getName().equalsIgnoreCase(t.getWorld().getName()))
- cm = true;
- else if(f.getBlockX() != t.getBlockX() || f.getBlockZ() != t.getBlockZ()) {
- PlotId idF = PlayerFunctions.getPlot(f);
- PlotId idT = PlayerFunctions.getPlot(t);
- if(!(idF==idT))
- cm = true;
- }
- }
- if(cm) {
- if(isPlotWorld(t)) {
- PWE.setMask(p,p.getLocation());
- }
- }
- }
- }
-
- @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
- public void onPlayerJoin(final PlayerJoinEvent e) {
- if(e.getPlayer().hasPermission("plots.worldedit.bypass")) return;
- Player p = e.getPlayer();
- if(isPlotWorld(p.getLocation()))
- PWE.setMask(p,p.getLocation());
- else
- PWE.removeMask(p);
- }
-
- @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
- public void onTeleport(final PlayerTeleportEvent e) {
- if(e.getPlayer().hasPermission("plots.worldedit.bypass")) return;
- Player p = e.getPlayer();
- Location f = e.getFrom(), t = e.getTo();
-
- if(t == null)
- PWE.removeMask(p);
- else {
- if(f != null && isPlotWorld(f) && !isPlotWorld(t))
- PWE.removeMask(p);
- else if(isPlotWorld(t))
- PWE.setMask(p,p.getLocation());
- }
- }
-
- @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
- public void onPortal(PlayerPortalEvent e) {
- if(e.getPlayer().hasPermission("plots.worldedit.bypass")) return;
- Player p = e.getPlayer();
- Location f = e.getFrom(), t = e.getTo();
- if(t == null)
- PWE.removeMask(p);
- else {
- if(f != null && isPlotWorld(f) && !isPlotWorld(t))
- PWE.removeMask(p);
- else if(isPlotWorld(t))
- PWE.setMask(p,p.getLocation());
- }
- }
-
- @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
- public void onPlayerCommand(PlayerCommandPreprocessEvent e) {
- if(e.getPlayer().hasPermission("plots.worldedit.bypass")) return;
- Player p = e.getPlayer();
- if(isPlotWorld(p.getLocation())) {
- String msg = e.getMessage().toLowerCase();
- if(msg.startsWith("//gmask") || msg.startsWith("/gmask") || msg.startsWith("/worldedit:gmask") || msg.startsWith("/worldedit:/gmask"))
- e.setCancelled(true);
- else if(msg.startsWith("/up") || msg.startsWith("//up") || msg.startsWith("/worldedit:up") || msg.startsWith("/worldedit:/up")) {
- Plot plot = PlayerFunctions.getCurrentPlot(p);
- if(p == null || !plot.hasRights(p))
- e.setCancelled(true);
- }
- }
- }
-
- @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
- public void onInteract(PlayerInteractEvent e) {
- Player p = e.getPlayer();
- if(!p.hasPermission("plots.admin") && isPlotWorld(p.getLocation())) {
- if((e.getAction() == Action.LEFT_CLICK_BLOCK || e.getAction() == Action.RIGHT_CLICK_BLOCK) && p.getItemInHand() != null && p.getItemInHand().getType() != Material.AIR) {
- Block b = e.getClickedBlock();
- Plot plot = PlotHelper.getCurrentPlot(b.getLocation());
- if(plot != null && plot.hasRights(p))
- PWE.setMask(p, b.getLocation());
- else
- e.setCancelled(true);
- }
- }
- }
-}
diff --git a/src/com/intellectualcrafters/plot/uuid/NameFetcher.java b/src/com/intellectualcrafters/plot/uuid/NameFetcher.java
deleted file mode 100644
index 033cbcb8f..000000000
--- a/src/com/intellectualcrafters/plot/uuid/NameFetcher.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.intellectualcrafters.plot.uuid;
-
-import com.google.common.collect.ImmutableList;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.Callable;
-
-/**
- *
- * @author
- *
- */
-public class NameFetcher implements Callable