diff --git a/PlotSquared/pom.xml b/PlotSquared/pom.xml index e02a5a146..a7c895e7a 100644 --- a/PlotSquared/pom.xml +++ b/PlotSquared/pom.xml @@ -8,7 +8,7 @@ UTF-8 PlotSquared - 2.7.4 + 2.8 PlotSquared jar @@ -61,10 +61,6 @@ sk80q http://maven.sk89q.com/artifactory/repo/ - - vault-repo - http://nexus.theyeticave.net/content/repositories/pub_releases - diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ByteArrayTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ByteArrayTag.java index a73ecb9ba..67fc3d9b4 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ByteArrayTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ByteArrayTag.java @@ -5,7 +5,7 @@ package com.intellectualcrafters.jnbt; */ public final class ByteArrayTag extends Tag { private final byte[] value; - + /** * Creates the tag with an empty name. * @@ -15,7 +15,7 @@ public final class ByteArrayTag extends Tag { super(); this.value = value; } - + /** * Creates the tag. * @@ -26,12 +26,12 @@ public final class ByteArrayTag extends Tag { super(name); this.value = value; } - + @Override public byte[] getValue() { return this.value; } - + @Override public String toString() { final StringBuilder hex = new StringBuilder(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ByteTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ByteTag.java index 388ed82e2..6ee42254c 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ByteTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ByteTag.java @@ -5,7 +5,7 @@ package com.intellectualcrafters.jnbt; */ public final class ByteTag extends Tag { private final byte value; - + /** * Creates the tag with an empty name. * @@ -15,7 +15,7 @@ public final class ByteTag extends Tag { super(); this.value = value; } - + /** * Creates the tag. * @@ -26,12 +26,12 @@ public final class ByteTag extends Tag { super(name); this.value = value; } - + @Override public Byte getValue() { return this.value; } - + @Override public String toString() { final String name = getName(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/CompoundTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/CompoundTag.java index 10c11b32c..88f642d6f 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/CompoundTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/CompoundTag.java @@ -10,7 +10,7 @@ import java.util.Map; */ public final class CompoundTag extends Tag { private final Map value; - + /** * Creates the tag with an empty name. * @@ -20,7 +20,7 @@ public final class CompoundTag extends Tag { super(); this.value = Collections.unmodifiableMap(value); } - + /** * Creates the tag. * @@ -31,7 +31,7 @@ public final class CompoundTag extends Tag { super(name); this.value = Collections.unmodifiableMap(value); } - + /** * Returns whether this compound tag contains the given key. * @@ -42,12 +42,12 @@ public final class CompoundTag extends Tag { public boolean containsKey(final String key) { return this.value.containsKey(key); } - + @Override public Map getValue() { return this.value; } - + /** * Return a new compound tag with the given values. * @@ -58,7 +58,7 @@ public final class CompoundTag extends Tag { public CompoundTag setValue(final Map value) { return new CompoundTag(getName(), value); } - + /** * Create a compound tag builder. * @@ -67,7 +67,7 @@ public final class CompoundTag extends Tag { public CompoundTagBuilder createBuilder() { return new CompoundTagBuilder(new HashMap(this.value)); } - + /** * Get a byte array named with the given key.

If the key does not exist or its value is not a byte array * tag, then an empty byte array will be returned.

@@ -84,7 +84,7 @@ public final class CompoundTag extends Tag { return new byte[0]; } } - + /** * Get a byte named with the given key.

If the key does not exist or its value is not a byte tag, then * {@code 0} will be returned.

@@ -101,7 +101,7 @@ public final class CompoundTag extends Tag { return (byte) 0; } } - + /** * Get a double named with the given key.

If the key does not exist or its value is not a double tag, then * {@code 0} will be returned.

@@ -118,7 +118,7 @@ public final class CompoundTag extends Tag { return 0; } } - + /** * Get a double named with the given key, even if it's another type of number.

If the key does not exist or * its value is not a number, then {@code 0} will be returned.

@@ -145,7 +145,7 @@ public final class CompoundTag extends Tag { return 0; } } - + /** * Get a float named with the given key.

If the key does not exist or its value is not a float tag, then * {@code 0} will be returned.

@@ -162,7 +162,7 @@ public final class CompoundTag extends Tag { return 0; } } - + /** * Get a {@code int[]} named with the given key.

If the key does not exist or its value is not an int array * tag, then an empty array will be returned.

@@ -179,7 +179,7 @@ public final class CompoundTag extends Tag { return new int[0]; } } - + /** * Get an int named with the given key.

If the key does not exist or its value is not an int tag, then * {@code 0} will be returned.

@@ -196,7 +196,7 @@ public final class CompoundTag extends Tag { return 0; } } - + /** * Get an int named with the given key, even if it's another type of number.

If the key does not exist or * its value is not a number, then {@code 0} will be returned.

@@ -223,7 +223,7 @@ public final class CompoundTag extends Tag { return 0; } } - + /** * Get a list of tags named with the given key.

If the key does not exist or its value is not a list tag, * then an empty list will be returned.

@@ -240,7 +240,7 @@ public final class CompoundTag extends Tag { return Collections.emptyList(); } } - + /** * Get a {@code TagList} named with the given key.

If the key does not exist or its value is not a list * tag, then an empty tag list will be returned.

@@ -257,7 +257,7 @@ public final class CompoundTag extends Tag { return new ListTag(key, StringTag.class, Collections. emptyList()); } } - + /** * Get a list of tags named with the given key.

If the key does not exist or its value is not a list tag, * then an empty list will be returned. If the given key references a list but the list of of a different type, then @@ -283,7 +283,7 @@ public final class CompoundTag extends Tag { return Collections.emptyList(); } } - + /** * Get a long named with the given key.

If the key does not exist or its value is not a long tag, then * {@code 0} will be returned.

@@ -300,7 +300,7 @@ public final class CompoundTag extends Tag { return 0L; } } - + /** * Get a long named with the given key, even if it's another type of number.

If the key does not exist or * its value is not a number, then {@code 0} will be returned.

@@ -327,7 +327,7 @@ public final class CompoundTag extends Tag { return 0L; } } - + /** * Get a short named with the given key.

If the key does not exist or its value is not a short tag, then * {@code 0} will be returned.

@@ -344,7 +344,7 @@ public final class CompoundTag extends Tag { return 0; } } - + /** * Get a string named with the given key.

If the key does not exist or its value is not a string tag, then * {@code ""} will be returned.

@@ -361,7 +361,7 @@ public final class CompoundTag extends Tag { return ""; } } - + @Override public String toString() { final String name = getName(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/CompoundTagBuilder.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/CompoundTagBuilder.java index 86e04e2fd..3036481f2 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/CompoundTagBuilder.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/CompoundTagBuilder.java @@ -10,14 +10,14 @@ import java.util.Map; */ public class CompoundTagBuilder { private final Map entries; - + /** * Create a new instance. */ CompoundTagBuilder() { this.entries = new HashMap(); } - + /** * Create a new instance and use the given map (which will be modified). * @@ -27,7 +27,7 @@ public class CompoundTagBuilder { checkNotNull(value); this.entries = value; } - + /** * Create a new builder instance. * @@ -36,7 +36,7 @@ public class CompoundTagBuilder { public static CompoundTagBuilder create() { return new CompoundTagBuilder(); } - + /** * Put the given key and tag into the compound tag. * @@ -51,7 +51,7 @@ public class CompoundTagBuilder { this.entries.put(key, value); return this; } - + /** * Put the given key and value into the compound tag as a {@code ByteArrayTag}. * @@ -63,7 +63,7 @@ public class CompoundTagBuilder { public CompoundTagBuilder putByteArray(final String key, final byte[] value) { return put(key, new ByteArrayTag(key, value)); } - + /** * Put the given key and value into the compound tag as a {@code ByteTag}. * @@ -75,7 +75,7 @@ public class CompoundTagBuilder { public CompoundTagBuilder putByte(final String key, final byte value) { return put(key, new ByteTag(key, value)); } - + /** * Put the given key and value into the compound tag as a {@code DoubleTag}. * @@ -87,7 +87,7 @@ public class CompoundTagBuilder { public CompoundTagBuilder putDouble(final String key, final double value) { return put(key, new DoubleTag(key, value)); } - + /** * Put the given key and value into the compound tag as a {@code FloatTag}. * @@ -99,7 +99,7 @@ public class CompoundTagBuilder { public CompoundTagBuilder putFloat(final String key, final float value) { return put(key, new FloatTag(key, value)); } - + /** * Put the given key and value into the compound tag as a {@code IntArrayTag}. * @@ -111,7 +111,7 @@ public class CompoundTagBuilder { public CompoundTagBuilder putIntArray(final String key, final int[] value) { return put(key, new IntArrayTag(key, value)); } - + /** * Put the given key and value into the compound tag as an {@code IntTag}. * @@ -123,7 +123,7 @@ public class CompoundTagBuilder { public CompoundTagBuilder putInt(final String key, final int value) { return put(key, new IntTag(key, value)); } - + /** * Put the given key and value into the compound tag as a {@code LongTag}. * @@ -135,7 +135,7 @@ public class CompoundTagBuilder { public CompoundTagBuilder putLong(final String key, final long value) { return put(key, new LongTag(key, value)); } - + /** * Put the given key and value into the compound tag as a {@code ShortTag}. * @@ -147,7 +147,7 @@ public class CompoundTagBuilder { public CompoundTagBuilder putShort(final String key, final short value) { return put(key, new ShortTag(key, value)); } - + /** * Put the given key and value into the compound tag as a {@code StringTag}. * @@ -159,7 +159,7 @@ public class CompoundTagBuilder { public CompoundTagBuilder putString(final String key, final String value) { return put(key, new StringTag(key, value)); } - + /** * Put all the entries from the given map into this map. * @@ -174,7 +174,7 @@ public class CompoundTagBuilder { } return this; } - + /** * Build an unnamed compound tag with this builder's entries. * @@ -183,7 +183,7 @@ public class CompoundTagBuilder { public CompoundTag build() { return new CompoundTag(new HashMap(this.entries)); } - + /** * Build a new compound tag with this builder's entries. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/DoubleTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/DoubleTag.java index d85fd6135..f7db525b3 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/DoubleTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/DoubleTag.java @@ -5,7 +5,7 @@ package com.intellectualcrafters.jnbt; */ public final class DoubleTag extends Tag { private final double value; - + /** * Creates the tag with an empty name. * @@ -15,7 +15,7 @@ public final class DoubleTag extends Tag { super(); this.value = value; } - + /** * Creates the tag. * @@ -26,12 +26,12 @@ public final class DoubleTag extends Tag { super(name); this.value = value; } - + @Override public Double getValue() { return this.value; } - + @Override public String toString() { final String name = getName(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/EndTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/EndTag.java index 981925184..70ffaa488 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/EndTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/EndTag.java @@ -10,12 +10,12 @@ public final class EndTag extends Tag { public EndTag() { super(); } - + @Override public Object getValue() { return null; } - + @Override public String toString() { return "TAG_End"; diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/FloatTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/FloatTag.java index 2dea1766f..02649fbad 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/FloatTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/FloatTag.java @@ -5,7 +5,7 @@ package com.intellectualcrafters.jnbt; */ public final class FloatTag extends Tag { private final float value; - + /** * Creates the tag with an empty name. * @@ -15,7 +15,7 @@ public final class FloatTag extends Tag { super(); this.value = value; } - + /** * Creates the tag. * @@ -26,12 +26,12 @@ public final class FloatTag extends Tag { super(name); this.value = value; } - + @Override public Float getValue() { return this.value; } - + @Override public String toString() { final String name = getName(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/IntArrayTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/IntArrayTag.java index c4349f89e..372002f05 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/IntArrayTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/IntArrayTag.java @@ -7,7 +7,7 @@ import static com.google.common.base.Preconditions.checkNotNull; */ public final class IntArrayTag extends Tag { private final int[] value; - + /** * Creates the tag with an empty name. * @@ -18,7 +18,7 @@ public final class IntArrayTag extends Tag { checkNotNull(value); this.value = value; } - + /** * Creates the tag. * @@ -30,12 +30,12 @@ public final class IntArrayTag extends Tag { checkNotNull(value); this.value = value; } - + @Override public int[] getValue() { return this.value; } - + @Override public String toString() { final StringBuilder hex = new StringBuilder(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/IntTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/IntTag.java index bee6eb7d7..abffe3825 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/IntTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/IntTag.java @@ -5,7 +5,7 @@ package com.intellectualcrafters.jnbt; */ public final class IntTag extends Tag { private final int value; - + /** * Creates the tag with an empty name. * @@ -15,7 +15,7 @@ public final class IntTag extends Tag { super(); this.value = value; } - + /** * Creates the tag. * @@ -26,12 +26,12 @@ public final class IntTag extends Tag { super(name); this.value = value; } - + @Override public Integer getValue() { return this.value; } - + @Override public String toString() { final String name = getName(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ListTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ListTag.java index 415721c30..2f517ef77 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ListTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ListTag.java @@ -14,7 +14,7 @@ import javax.annotation.Nullable; public final class ListTag extends Tag { private final Class type; private final List value; - + /** * Creates the tag with an empty name. * @@ -27,7 +27,7 @@ public final class ListTag extends Tag { this.type = type; this.value = Collections.unmodifiableList(value); } - + /** * Creates the tag. * @@ -41,7 +41,7 @@ public final class ListTag extends Tag { this.type = type; this.value = Collections.unmodifiableList(value); } - + /** * Gets the type of item in this list. * @@ -50,12 +50,12 @@ public final class ListTag extends Tag { public Class getType() { return this.type; } - + @Override public List getValue() { return this.value; } - + /** * Create a new list tag with this tag's name and type. * @@ -66,7 +66,7 @@ public final class ListTag extends Tag { public ListTag setValue(final List list) { return new ListTag(getName(), getType(), list); } - + /** * Get the tag if it exists at the given index. * @@ -82,7 +82,7 @@ public final class ListTag extends Tag { return null; } } - + /** * Get a byte array named with the given index.

If the index does not exist or its value is not a byte * array tag, then an empty byte array will be returned.

@@ -99,7 +99,7 @@ public final class ListTag extends Tag { return new byte[0]; } } - + /** * Get a byte named with the given index.

If the index does not exist or its value is not a byte tag, then * {@code 0} will be returned.

@@ -116,7 +116,7 @@ public final class ListTag extends Tag { return (byte) 0; } } - + /** * Get a double named with the given index.

If the index does not exist or its value is not a double tag, * then {@code 0} will be returned.

@@ -133,7 +133,7 @@ public final class ListTag extends Tag { return 0; } } - + /** * Get a double named with the given index, even if it's another type of number.

If the index does not * exist or its value is not a number, then {@code 0} will be returned.

@@ -160,7 +160,7 @@ public final class ListTag extends Tag { return 0; } } - + /** * Get a float named with the given index.

If the index does not exist or its value is not a float tag, * then {@code 0} will be returned.

@@ -177,7 +177,7 @@ public final class ListTag extends Tag { return 0; } } - + /** * Get a {@code int[]} named with the given index.

If the index does not exist or its value is not an int * array tag, then an empty array will be returned.

@@ -194,7 +194,7 @@ public final class ListTag extends Tag { return new int[0]; } } - + /** * Get an int named with the given index.

If the index does not exist or its value is not an int tag, then * {@code 0} will be returned.

@@ -211,7 +211,7 @@ public final class ListTag extends Tag { return 0; } } - + /** * Get an int named with the given index, even if it's another type of number.

If the index does not exist * or its value is not a number, then {@code 0} will be returned.

@@ -238,7 +238,7 @@ public final class ListTag extends Tag { return 0; } } - + /** * Get a list of tags named with the given index.

If the index does not exist or its value is not a list * tag, then an empty list will be returned.

@@ -255,7 +255,7 @@ public final class ListTag extends Tag { return Collections.emptyList(); } } - + /** * Get a {@code TagList} named with the given index.

If the index does not exist or its value is not a list * tag, then an empty tag list will be returned.

@@ -272,7 +272,7 @@ public final class ListTag extends Tag { return new ListTag(StringTag.class, Collections. emptyList()); } } - + /** * Get a list of tags named with the given index.

If the index does not exist or its value is not a list * tag, then an empty list will be returned. If the given index references a list but the list of of a different @@ -298,7 +298,7 @@ public final class ListTag extends Tag { return Collections.emptyList(); } } - + /** * Get a long named with the given index.

If the index does not exist or its value is not a long tag, then * {@code 0} will be returned.

@@ -315,7 +315,7 @@ public final class ListTag extends Tag { return 0L; } } - + /** * Get a long named with the given index, even if it's another type of number.

If the index does not exist * or its value is not a number, then {@code 0} will be returned.

@@ -342,7 +342,7 @@ public final class ListTag extends Tag { return 0; } } - + /** * Get a short named with the given index.

If the index does not exist or its value is not a short tag, * then {@code 0} will be returned.

@@ -359,7 +359,7 @@ public final class ListTag extends Tag { return 0; } } - + /** * Get a string named with the given index.

If the index does not exist or its value is not a string tag, * then {@code ""} will be returned.

@@ -376,7 +376,7 @@ public final class ListTag extends Tag { return ""; } } - + @Override public String toString() { final String name = getName(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ListTagBuilder.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ListTagBuilder.java index a050599c5..c076aaf80 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ListTagBuilder.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ListTagBuilder.java @@ -13,7 +13,7 @@ import java.util.List; public class ListTagBuilder { private final Class type; private final List entries; - + /** * Create a new instance. * @@ -24,7 +24,7 @@ public class ListTagBuilder { this.type = type; this.entries = new ArrayList(); } - + /** * Create a new builder instance. * @@ -33,7 +33,7 @@ public class ListTagBuilder { public static ListTagBuilder create(final Class type) { return new ListTagBuilder(type); } - + /** * Create a new builder instance. * @@ -55,7 +55,7 @@ public class ListTagBuilder { builder.addAll(Arrays.asList(entries)); return builder; } - + /** * Add the given tag. * @@ -71,7 +71,7 @@ public class ListTagBuilder { this.entries.add(value); return this; } - + /** * Add all the tags in the given list. * @@ -86,7 +86,7 @@ public class ListTagBuilder { } return this; } - + /** * Build an unnamed list tag with this builder's entries. * @@ -95,7 +95,7 @@ public class ListTagBuilder { public ListTag build() { return new ListTag(this.type, new ArrayList(this.entries)); } - + /** * Build a new list tag with this builder's entries. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/LongTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/LongTag.java index 974a4d199..0473c075d 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/LongTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/LongTag.java @@ -5,7 +5,7 @@ package com.intellectualcrafters.jnbt; */ public final class LongTag extends Tag { private final long value; - + /** * Creates the tag with an empty name. * @@ -15,7 +15,7 @@ public final class LongTag extends Tag { super(); this.value = value; } - + /** * Creates the tag. * @@ -26,12 +26,12 @@ public final class LongTag extends Tag { super(name); this.value = value; } - + @Override public Long getValue() { return this.value; } - + @Override public String toString() { final String name = getName(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTConstants.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTConstants.java index 604859fff..891345802 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTConstants.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTConstants.java @@ -28,13 +28,13 @@ import java.nio.charset.Charset; public final class NBTConstants { public static final Charset CHARSET = Charset.forName("UTF-8"); public static final int TYPE_END = 0, TYPE_BYTE = 1, TYPE_SHORT = 2, TYPE_INT = 3, TYPE_LONG = 4, TYPE_FLOAT = 5, TYPE_DOUBLE = 6, TYPE_BYTE_ARRAY = 7, TYPE_STRING = 8, TYPE_LIST = 9, TYPE_COMPOUND = 10, TYPE_INT_ARRAY = 11; - + /** * Default private constructor. */ private NBTConstants() { } - + /** * Convert a type ID to its corresponding {@link Tag} class. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTInputStream.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTInputStream.java index 2c9a6610d..be6702d6b 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTInputStream.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTInputStream.java @@ -16,7 +16,7 @@ import java.util.Map; */ public final class NBTInputStream implements Closeable { private final DataInputStream is; - + /** * Creates a new {@code NBTInputStream}, which will source its data from the specified input stream. * @@ -27,7 +27,7 @@ public final class NBTInputStream implements Closeable { public NBTInputStream(final InputStream is) throws IOException { this.is = new DataInputStream(is); } - + /** * Reads an NBT tag from the stream. * @@ -38,7 +38,7 @@ public final class NBTInputStream implements Closeable { public Tag readTag() throws IOException { return readTag(0); } - + /** * Reads an NBT from the stream. * @@ -61,7 +61,7 @@ public final class NBTInputStream implements Closeable { } return readTagPayload(type, name, depth); } - + /** * Reads the payload of a tag, given the name and type. * @@ -137,7 +137,7 @@ public final class NBTInputStream implements Closeable { throw new IOException("Invalid tag type: " + type + "."); } } - + @Override public void close() throws IOException { this.is.close(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTOutputStream.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTOutputStream.java index a4deec5a3..884366100 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTOutputStream.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTOutputStream.java @@ -39,7 +39,7 @@ public final class NBTOutputStream implements Closeable { * The output stream. */ private final DataOutputStream os; - + /** * Creates a new NBTOutputStream, which will write data to the specified underlying output stream. * @@ -50,7 +50,7 @@ public final class NBTOutputStream implements Closeable { public NBTOutputStream(final OutputStream os) throws IOException { this.os = new DataOutputStream(os); } - + /** * Writes a tag. * @@ -70,7 +70,7 @@ public final class NBTOutputStream implements Closeable { } writeTagPayload(tag); } - + /** * Writes tag payload. * @@ -121,7 +121,7 @@ public final class NBTOutputStream implements Closeable { throw new IOException("Invalid tag type: " + type + "."); } } - + /** * Writes a TAG_Byte tag. * @@ -132,7 +132,7 @@ public final class NBTOutputStream implements Closeable { private void writeByteTagPayload(final ByteTag tag) throws IOException { this.os.writeByte(tag.getValue()); } - + /** * Writes a TAG_Byte_Array tag. * @@ -145,7 +145,7 @@ public final class NBTOutputStream implements Closeable { this.os.writeInt(bytes.length); this.os.write(bytes); } - + /** * Writes a TAG_Compound tag. * @@ -159,7 +159,7 @@ public final class NBTOutputStream implements Closeable { } this.os.writeByte((byte) 0); // end tag - better way? } - + /** * Writes a TAG_List tag. * @@ -177,7 +177,7 @@ public final class NBTOutputStream implements Closeable { writeTagPayload(tag1); } } - + /** * Writes a TAG_String tag. * @@ -190,7 +190,7 @@ public final class NBTOutputStream implements Closeable { this.os.writeShort(bytes.length); this.os.write(bytes); } - + /** * Writes a TAG_Double tag. * @@ -201,7 +201,7 @@ public final class NBTOutputStream implements Closeable { private void writeDoubleTagPayload(final DoubleTag tag) throws IOException { this.os.writeDouble(tag.getValue()); } - + /** * Writes a TAG_Float tag. * @@ -212,7 +212,7 @@ public final class NBTOutputStream implements Closeable { private void writeFloatTagPayload(final FloatTag tag) throws IOException { this.os.writeFloat(tag.getValue()); } - + /** * Writes a TAG_Long tag. * @@ -223,7 +223,7 @@ public final class NBTOutputStream implements Closeable { private void writeLongTagPayload(final LongTag tag) throws IOException { this.os.writeLong(tag.getValue()); } - + /** * Writes a TAG_Int tag. * @@ -234,7 +234,7 @@ public final class NBTOutputStream implements Closeable { private void writeIntTagPayload(final IntTag tag) throws IOException { this.os.writeInt(tag.getValue()); } - + /** * Writes a TAG_Short tag. * @@ -245,7 +245,7 @@ public final class NBTOutputStream implements Closeable { private void writeShortTagPayload(final ShortTag tag) throws IOException { this.os.writeShort(tag.getValue()); } - + /** * Writes a TAG_Empty tag. * @@ -256,7 +256,7 @@ public final class NBTOutputStream implements Closeable { private void writeEndTagPayload(final EndTag tag) { /* empty */ } - + private void writeIntArrayTagPayload(final IntArrayTag tag) throws IOException { final int[] data = tag.getValue(); this.os.writeInt(data.length); @@ -264,7 +264,7 @@ public final class NBTOutputStream implements Closeable { this.os.writeInt(element); } } - + @Override public void close() throws IOException { this.os.close(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTUtils.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTUtils.java index 741fdf2ac..d56c9808e 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTUtils.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/NBTUtils.java @@ -11,7 +11,7 @@ public final class NBTUtils { */ private NBTUtils() { } - + /** * Gets the type name of a tag. * @@ -48,7 +48,7 @@ public final class NBTUtils { throw new IllegalArgumentException("Invalid tag classs (" + clazz.getName() + ")."); } } - + /** * Gets the type code of a tag class. * @@ -87,7 +87,7 @@ public final class NBTUtils { throw new IllegalArgumentException("Invalid tag classs (" + clazz.getName() + ")."); } } - + /** * Gets the class of a type of tag. * @@ -127,7 +127,7 @@ public final class NBTUtils { throw new IllegalArgumentException("Invalid tag type : " + type + "."); } } - + /** * Get child tag of a NBT structure. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ShortTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ShortTag.java index df4ceb57e..5f3b7ec6d 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ShortTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/ShortTag.java @@ -25,7 +25,7 @@ package com.intellectualcrafters.jnbt; */ public final class ShortTag extends Tag { private final short value; - + /** * Creates the tag with an empty name. * @@ -35,7 +35,7 @@ public final class ShortTag extends Tag { super(); this.value = value; } - + /** * Creates the tag. * @@ -46,12 +46,12 @@ public final class ShortTag extends Tag { super(name); this.value = value; } - + @Override public Short getValue() { return this.value; } - + @Override public String toString() { final String name = getName(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/StringTag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/StringTag.java index 8c0756e63..cb50376a8 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/StringTag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/StringTag.java @@ -7,7 +7,7 @@ import static com.google.common.base.Preconditions.checkNotNull; */ public final class StringTag extends Tag { private final String value; - + /** * Creates the tag with an empty name. * @@ -18,7 +18,7 @@ public final class StringTag extends Tag { checkNotNull(value); this.value = value; } - + /** * Creates the tag. * @@ -30,12 +30,12 @@ public final class StringTag extends Tag { checkNotNull(value); this.value = value; } - + @Override public String getValue() { return this.value; } - + @Override public String toString() { final String name = getName(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/Tag.java b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/Tag.java index 395333e13..6fce19169 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/Tag.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/jnbt/Tag.java @@ -25,14 +25,14 @@ package com.intellectualcrafters.jnbt; */ public abstract class Tag { private final String name; - + /** * Create a new tag with an empty name. */ Tag() { this(""); } - + /** * Creates the tag with the specified name. * @@ -44,7 +44,7 @@ public abstract class Tag { } this.name = name; } - + /** * Gets the name of this tag. * @@ -53,7 +53,7 @@ public abstract class Tag { public final String getName() { return this.name; } - + /** * Gets the value of this tag. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/CDL.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/CDL.java index 9514eea56..fde894749 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/CDL.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/CDL.java @@ -60,7 +60,7 @@ public class CDL { return x.nextTo(','); } } - + /** * Produce a JSONArray of strings from a row of comma delimited values. * @@ -93,7 +93,7 @@ public class CDL { } } } - + /** * Produce a JSONObject from a row of comma delimited text, using a parallel JSONArray of strings to provides the * names of the elements. @@ -110,7 +110,7 @@ public class CDL { final JSONArray ja = rowToJSONArray(x); return ja != null ? ja.toJSONObject(names) : null; } - + /** * Produce a comma delimited text row from a JSONArray. Values containing the comma character will be quoted. * Troublesome characters may be removed. @@ -146,7 +146,7 @@ public class CDL { sb.append('\n'); return sb.toString(); } - + /** * Produce a JSONArray of JSONObjects from a comma delimited text string, using the first row as a source of names. * @@ -159,7 +159,7 @@ public class CDL { public static JSONArray toJSONArray(final String string) throws JSONException { return toJSONArray(new JSONTokener(string)); } - + /** * Produce a JSONArray of JSONObjects from a comma delimited text string, using the first row as a source of names. * @@ -172,7 +172,7 @@ public class CDL { public static JSONArray toJSONArray(final JSONTokener x) throws JSONException { return toJSONArray(rowToJSONArray(x), x); } - + /** * Produce a JSONArray of JSONObjects from a comma delimited text string using a supplied JSONArray as the source of * element names. @@ -187,7 +187,7 @@ public class CDL { public static JSONArray toJSONArray(final JSONArray names, final String string) throws JSONException { return toJSONArray(names, new JSONTokener(string)); } - + /** * Produce a JSONArray of JSONObjects from a comma delimited text string using a supplied JSONArray as the source of * element names. @@ -216,7 +216,7 @@ public class CDL { } return ja; } - + /** * Produce a comma delimited text from a JSONArray of JSONObjects. The first row will be a list of names obtained by * inspecting the first JSONObject. @@ -237,7 +237,7 @@ public class CDL { } return null; } - + /** * Produce a comma delimited text from a JSONArray of JSONObjects using a provided list of names. The list of names * is not included in the output. diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/Cookie.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/Cookie.java index ee4def328..13a11c597 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/Cookie.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/Cookie.java @@ -56,7 +56,7 @@ public class Cookie { } return sb.toString(); } - + /** * Convert a cookie specification string into a JSONObject. The string will contain a name value pair separated by * '='. The name and the value will be unescaped, possibly converting '+' and '%' sequences. The cookie properties @@ -96,7 +96,7 @@ public class Cookie { } return jo; } - + /** * Convert a JSONObject into a cookie specification string. The JSONObject must contain "name" and "value" members. * If the JSONObject contains "expires", "domain", "path", or "secure" members, they will be appended to the cookie @@ -130,7 +130,7 @@ public class Cookie { } return sb.toString(); } - + /** * Convert %hh sequences to single characters, and convert plus to space. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/CookieList.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/CookieList.java index 01eba0b85..c8ee0136d 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/CookieList.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/CookieList.java @@ -34,7 +34,7 @@ public class CookieList { } return jo; } - + /** * Convert a JSONObject into a cookie list. A cookie list is a sequence of name/value pairs. The names are separated * from the values by '='. The pairs are separated by ';'. The characters '%', '+', '=', and ';' in the names and diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/HTTP.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/HTTP.java index 8bc44d340..c78f24d61 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/HTTP.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/HTTP.java @@ -33,7 +33,7 @@ public class HTTP { * Carriage return/line feed. */ public static final String CRLF = "\r\n"; - + /** * Convert an HTTP header string into a JSONObject. It can be a request header or a response header. A request * header will contain @@ -113,7 +113,7 @@ public class HTTP { } return jo; } - + /** * Convert a JSONObject into an HTTP header. A request header must contain *

diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/HTTPTokener.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/HTTPTokener.java index 5a3fb1e56..d6bb2cf1e 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/HTTPTokener.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/HTTPTokener.java @@ -15,7 +15,7 @@ public class HTTPTokener extends JSONTokener { public HTTPTokener(final String string) { super(string); } - + /** * Get the next token or string. This is used in parsing HTTP headers. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONArray.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONArray.java index 4725eec68..026613a2b 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONArray.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONArray.java @@ -61,14 +61,14 @@ public class JSONArray { * The arrayList where the JSONArray's properties are kept. */ private final ArrayList myArrayList; - + /** * Construct an empty JSONArray. */ public JSONArray() { this.myArrayList = new ArrayList(); } - + /** * Construct a JSONArray from a JSONTokener. * @@ -106,7 +106,7 @@ public class JSONArray { } } } - + /** * Construct a JSONArray from a source JSON text. * @@ -118,7 +118,7 @@ public class JSONArray { public JSONArray(final String source) throws JSONException { this(new JSONTokener(source)); } - + /** * Construct a JSONArray from a Collection. * @@ -132,7 +132,7 @@ public class JSONArray { } } } - + /** * Construct a JSONArray from an array * @@ -149,7 +149,7 @@ public class JSONArray { throw new JSONException("JSONArray initial value should be a string or collection or array."); } } - + /** * Get the object value associated with an index. * @@ -166,7 +166,7 @@ public class JSONArray { } return object; } - + /** * Get the boolean value associated with an index. The string values "true" and "false" are converted to boolean. * @@ -185,7 +185,7 @@ public class JSONArray { } throw new JSONException("JSONArray[" + index + "] is not a boolean."); } - + /** * Get the double value associated with an index. * @@ -203,7 +203,7 @@ public class JSONArray { throw new JSONException("JSONArray[" + index + "] is not a number."); } } - + /** * Get the int value associated with an index. * @@ -221,7 +221,7 @@ public class JSONArray { throw new JSONException("JSONArray[" + index + "] is not a number."); } } - + /** * Get the JSONArray associated with an index. * @@ -238,7 +238,7 @@ public class JSONArray { } throw new JSONException("JSONArray[" + index + "] is not a JSONArray."); } - + /** * Get the JSONObject associated with an index. * @@ -255,7 +255,7 @@ public class JSONArray { } throw new JSONException("JSONArray[" + index + "] is not a JSONObject."); } - + /** * Get the long value associated with an index. * @@ -273,7 +273,7 @@ public class JSONArray { throw new JSONException("JSONArray[" + index + "] is not a number."); } } - + /** * Get the string associated with an index. * @@ -290,7 +290,7 @@ public class JSONArray { } throw new JSONException("JSONArray[" + index + "] not a string."); } - + /** * Determine if the value is null. * @@ -301,7 +301,7 @@ public class JSONArray { public boolean isNull(final int index) { return JSONObject.NULL.equals(this.opt(index)); } - + /** * Make a string from the contents of this JSONArray. The separator string is inserted between each * element. Warning: This method assumes that the data structure is acyclical. @@ -323,7 +323,7 @@ public class JSONArray { } return sb.toString(); } - + /** * Get the number of elements in the JSONArray, included nulls. * @@ -332,7 +332,7 @@ public class JSONArray { public int length() { return this.myArrayList.size(); } - + /** * Get the optional object value associated with an index. * @@ -343,7 +343,7 @@ public class JSONArray { public Object opt(final int index) { return ((index < 0) || (index >= this.length())) ? null : this.myArrayList.get(index); } - + /** * Get the optional boolean value associated with an index. It returns false if there is no value at that index, or * if the value is not Boolean.TRUE or the String "true". @@ -355,7 +355,7 @@ public class JSONArray { public boolean optBoolean(final int index) { return this.optBoolean(index, false); } - + /** * Get the optional boolean value associated with an index. It returns the defaultValue if there is no value at that * index or if it is not a Boolean or the String "true" or "false" (case insensitive). @@ -372,7 +372,7 @@ public class JSONArray { return defaultValue; } } - + /** * Get the optional double value associated with an index. NaN is returned if there is no value for the index, or if * the value is not a number and cannot be converted to a number. @@ -384,7 +384,7 @@ public class JSONArray { public double optDouble(final int index) { return this.optDouble(index, Double.NaN); } - + /** * Get the optional double value associated with an index. The defaultValue is returned if there is no value for the * index, or if the value is not a number and cannot be converted to a number. @@ -401,7 +401,7 @@ public class JSONArray { return defaultValue; } } - + /** * Get the optional int value associated with an index. Zero is returned if there is no value for the index, or if * the value is not a number and cannot be converted to a number. @@ -413,7 +413,7 @@ public class JSONArray { public int optInt(final int index) { return this.optInt(index, 0); } - + /** * Get the optional int value associated with an index. The defaultValue is returned if there is no value for the * index, or if the value is not a number and cannot be converted to a number. @@ -430,7 +430,7 @@ public class JSONArray { return defaultValue; } } - + /** * Get the optional JSONArray associated with an index. * @@ -442,7 +442,7 @@ public class JSONArray { final Object o = this.opt(index); return o instanceof JSONArray ? (JSONArray) o : null; } - + /** * Get the optional JSONObject associated with an index. Null is returned if the key is not found, or null if the * index has no value, or if the value is not a JSONObject. @@ -455,7 +455,7 @@ public class JSONArray { final Object o = this.opt(index); return o instanceof JSONObject ? (JSONObject) o : null; } - + /** * Get the optional long value associated with an index. Zero is returned if there is no value for the index, or if * the value is not a number and cannot be converted to a number. @@ -467,7 +467,7 @@ public class JSONArray { public long optLong(final int index) { return this.optLong(index, 0); } - + /** * Get the optional long value associated with an index. The defaultValue is returned if there is no value for the * index, or if the value is not a number and cannot be converted to a number. @@ -484,7 +484,7 @@ public class JSONArray { return defaultValue; } } - + /** * Get the optional string value associated with an index. It returns an empty string if there is no value at that * index. If the value is not a string and is not null, then it is coverted to a string. @@ -496,7 +496,7 @@ public class JSONArray { public String optString(final int index) { return this.optString(index, ""); } - + /** * Get the optional string associated with an index. The defaultValue is returned if the key is not found. * @@ -509,7 +509,7 @@ public class JSONArray { final Object object = this.opt(index); return JSONObject.NULL.equals(object) ? defaultValue : object.toString(); } - + /** * Append a boolean value. This increases the array's length by one. * @@ -521,7 +521,7 @@ public class JSONArray { this.put(value ? Boolean.TRUE : Boolean.FALSE); return this; } - + /** * Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection. * @@ -533,7 +533,7 @@ public class JSONArray { this.put(new JSONArray(value)); return this; } - + /** * Append a double value. This increases the array's length by one. * @@ -549,7 +549,7 @@ public class JSONArray { this.put(d); return this; } - + /** * Append an int value. This increases the array's length by one. * @@ -561,7 +561,7 @@ public class JSONArray { this.put(new Integer(value)); return this; } - + /** * Append an long value. This increases the array's length by one. * @@ -573,7 +573,7 @@ public class JSONArray { this.put(new Long(value)); return this; } - + /** * Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map. * @@ -585,7 +585,7 @@ public class JSONArray { this.put(new JSONObject(value)); return this; } - + /** * Append an object value. This increases the array's length by one. * @@ -598,7 +598,7 @@ public class JSONArray { this.myArrayList.add(value); return this; } - + /** * Put or replace a boolean value in the JSONArray. If the index is greater than the length of the JSONArray, then * null elements will be added as necessary to pad it out. @@ -614,7 +614,7 @@ public class JSONArray { this.put(index, value ? Boolean.TRUE : Boolean.FALSE); return this; } - + /** * Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection. * @@ -629,7 +629,7 @@ public class JSONArray { this.put(index, new JSONArray(value)); return this; } - + /** * Put or replace a double value. If the index is greater than the length of the JSONArray, then null elements will * be added as necessary to pad it out. @@ -645,7 +645,7 @@ public class JSONArray { this.put(index, new Double(value)); return this; } - + /** * Put or replace an int value. If the index is greater than the length of the JSONArray, then null elements will be * added as necessary to pad it out. @@ -661,7 +661,7 @@ public class JSONArray { this.put(index, new Integer(value)); return this; } - + /** * Put or replace a long value. If the index is greater than the length of the JSONArray, then null elements will be * added as necessary to pad it out. @@ -677,7 +677,7 @@ public class JSONArray { this.put(index, new Long(value)); return this; } - + /** * Put a value in the JSONArray, where the value will be a JSONObject that is produced from a Map. * @@ -692,7 +692,7 @@ public class JSONArray { this.put(index, new JSONObject(value)); return this; } - + /** * Put or replace an object value in the JSONArray. If the index is greater than the length of the JSONArray, then * null elements will be added as necessary to pad it out. @@ -720,7 +720,7 @@ public class JSONArray { } return this; } - + /** * Remove an index and close the hole. * @@ -731,7 +731,7 @@ public class JSONArray { public Object remove(final int index) { return (index >= 0) && (index < this.length()) ? this.myArrayList.remove(index) : null; } - + /** * Determine if two JSONArrays are similar. They must contain similar sequences. * @@ -764,7 +764,7 @@ public class JSONArray { } return true; } - + /** * Produce a JSONObject by combining a JSONArray of names with the values of this JSONArray. * @@ -784,7 +784,7 @@ public class JSONArray { } return jo; } - + /** * Make a JSON text of this JSONArray. For compactness, no unnecessary whitespace is added. If it is not possible to * produce a syntactically correct JSON text then null will be returned instead. This could occur if the array @@ -802,7 +802,7 @@ public class JSONArray { return null; } } - + /** * Make a prettyprinted JSON text of this JSONArray. Warning: This method assumes that the data structure is * acyclical. @@ -821,7 +821,7 @@ public class JSONArray { return this.write(sw, indentFactor, 0).toString(); } } - + /** * Write the contents of the JSONArray as JSON text to a writer. For compactness, no whitespace is added. *

@@ -834,7 +834,7 @@ public class JSONArray { public Writer write(final Writer writer) throws JSONException { return this.write(writer, 0, 0); } - + /** * Write the contents of the JSONArray as JSON text to a writer. For compactness, no whitespace is added. *

diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONException.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONException.java index d15aae6d9..090d4e4f7 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONException.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONException.java @@ -9,7 +9,7 @@ package com.intellectualcrafters.json; public class JSONException extends RuntimeException { private static final long serialVersionUID = 0; private Throwable cause; - + /** * Constructs a JSONException with an explanatory message. * @@ -18,7 +18,7 @@ public class JSONException extends RuntimeException { public JSONException(final String message) { super(message); } - + /** * Constructs a new JSONException with the specified cause. * @@ -28,7 +28,7 @@ public class JSONException extends RuntimeException { super(cause.getMessage()); this.cause = cause; } - + /** * Returns the cause of this exception or null if the cause is nonexistent or unknown. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONML.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONML.java index 8d92ddf10..73c5b0b35 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONML.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONML.java @@ -183,7 +183,7 @@ public class JSONML { } } } - + /** * Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform. Each * XML tag is represented as a JSONArray in which the first element is the tag name. If the tag has attributes, then @@ -199,7 +199,7 @@ public class JSONML { public static JSONArray toJSONArray(final String string) throws JSONException { return toJSONArray(new XMLTokener(string)); } - + /** * Convert a well-formed (but not necessarily valid) XML string into a JSONArray using the JsonML transform. Each * XML tag is represented as a JSONArray in which the first element is the tag name. If the tag has attributes, then @@ -216,7 +216,7 @@ public class JSONML { public static JSONArray toJSONArray(final XMLTokener x) throws JSONException { return (JSONArray) parse(x, true, null); } - + /** * Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform. Each * XML tag is represented as a JSONObject with a "tagName" property. If the tag has attributes, then the attributes @@ -234,7 +234,7 @@ public class JSONML { public static JSONObject toJSONObject(final XMLTokener x) throws JSONException { return (JSONObject) parse(x, false, null); } - + /** * Convert a well-formed (but not necessarily valid) XML string into a JSONObject using the JsonML transform. Each * XML tag is represented as a JSONObject with a "tagName" property. If the tag has attributes, then the attributes @@ -252,7 +252,7 @@ public class JSONML { public static JSONObject toJSONObject(final String string) throws JSONException { return toJSONObject(new XMLTokener(string)); } - + /** * Reverse the JSONML transformation, making an XML text from a JSONArray. * @@ -327,7 +327,7 @@ public class JSONML { } return sb.toString(); } - + /** * Reverse the JSONML transformation, making an XML text from a JSONObject. The JSONObject must contain a "tagName" * property. If it has children, then it must have a "childNodes" property containing an array of objects. The other diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONObject.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONObject.java index 6dd084455..7d830b2e5 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONObject.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONObject.java @@ -64,14 +64,14 @@ public class JSONObject { * The map where the JSONObject's properties are kept. */ private final Map map; - + /** * Construct an empty JSONObject. */ public JSONObject() { this.map = new HashMap(); } - + /** * Construct a JSONObject from a subset of another JSONObject. An array of strings is used to identify the keys that * should be copied. Missing keys are ignored. @@ -91,7 +91,7 @@ public class JSONObject { } } } - + /** * Construct a JSONObject from a JSONTokener. * @@ -139,7 +139,7 @@ public class JSONObject { } } } - + /** * Construct a JSONObject from a Map. * @@ -158,7 +158,7 @@ public class JSONObject { } } } - + /** * Construct a JSONObject from an Object using bean getters. It reflects on all of the public methods of the object. * For each of the methods with no parameters and a name starting with "get" or "is" @@ -178,7 +178,7 @@ public class JSONObject { this(); this.populateMap(bean); } - + /** * Construct a JSONObject from an Object, using reflection to find the public members. The resulting JSONObject's * keys will be the strings from the names array, and the values will be the field values associated with those keys @@ -197,7 +197,7 @@ public class JSONObject { } } } - + /** * Construct a JSONObject from a source JSON text string. This is the most commonly used JSONObject constructor. * @@ -209,7 +209,7 @@ public class JSONObject { public JSONObject(final String source) throws JSONException { this(new JSONTokener(source)); } - + /** * Construct a JSONObject from a ResourceBundle. * @@ -247,7 +247,7 @@ public class JSONObject { } } } - + /** * Produce a string from a double. The string "null" will be returned if the number is not finite. * @@ -271,7 +271,7 @@ public class JSONObject { } return string; } - + /** * Get an array of field names from a JSONObject. * @@ -291,7 +291,7 @@ public class JSONObject { } return names; } - + /** * Get an array of field names from an Object. * @@ -313,7 +313,7 @@ public class JSONObject { } return names; } - + /** * Produce a string from a Number. * @@ -340,7 +340,7 @@ public class JSONObject { } return string; } - + /** * Produce a string in double quotes with backslash sequences in all the right places. A backslash will be inserted * within keys() { return this.keySet().iterator(); } - + /** * Get a set of keys of the JSONObject. * @@ -882,7 +882,7 @@ public class JSONObject { public Set keySet() { return this.map.keySet(); } - + /** * Get the number of keys stored in the JSONObject. * @@ -891,7 +891,7 @@ public class JSONObject { public int length() { return this.map.size(); } - + /** * Produce a JSONArray containing the names of the elements of this JSONObject. * @@ -905,7 +905,7 @@ public class JSONObject { } return ja.length() == 0 ? null : ja; } - + /** * Get an optional value associated with a key. * @@ -916,7 +916,7 @@ public class JSONObject { public Object opt(final String key) { return key == null ? null : this.map.get(key); } - + /** * Get an optional boolean associated with a key. It returns false if there is no such key, or if the value is not * Boolean.TRUE or the String "true". @@ -928,7 +928,7 @@ public class JSONObject { public boolean optBoolean(final String key) { return this.optBoolean(key, false); } - + /** * Get an optional boolean associated with a key. It returns the defaultValue if there is no such key, or if it is * not a Boolean or the String "true" or "false" (case insensitive). @@ -945,7 +945,7 @@ public class JSONObject { return defaultValue; } } - + /** * Get an optional double associated with a key, or NaN if there is no such key or if its value is not a number. If * the value is a string, an attempt will be made to evaluate it as a number. @@ -957,7 +957,7 @@ public class JSONObject { public double optDouble(final String key) { return this.optDouble(key, Double.NaN); } - + /** * Get an optional double associated with a key, or the defaultValue if there is no such key or if its value is not * a number. If the value is a string, an attempt will be made to evaluate it as a number. @@ -974,7 +974,7 @@ public class JSONObject { return defaultValue; } } - + /** * Get an optional int value associated with a key, or zero if there is no such key or if the value is not a number. * If the value is a string, an attempt will be made to evaluate it as a number. @@ -986,7 +986,7 @@ public class JSONObject { public int optInt(final String key) { return this.optInt(key, 0); } - + /** * Get an optional int value associated with a key, or the default if there is no such key or if the value is not a * number. If the value is a string, an attempt will be made to evaluate it as a number. @@ -1003,7 +1003,7 @@ public class JSONObject { return defaultValue; } } - + /** * Get an optional JSONArray associated with a key. It returns null if there is no such key, or if its value is not * a JSONArray. @@ -1016,7 +1016,7 @@ public class JSONObject { final Object o = this.opt(key); return o instanceof JSONArray ? (JSONArray) o : null; } - + /** * Get an optional JSONObject associated with a key. It returns null if there is no such key, or if its value is not * a JSONObject. @@ -1029,7 +1029,7 @@ public class JSONObject { final Object object = this.opt(key); return object instanceof JSONObject ? (JSONObject) object : null; } - + /** * Get an optional long value associated with a key, or zero if there is no such key or if the value is not a * number. If the value is a string, an attempt will be made to evaluate it as a number. @@ -1041,7 +1041,7 @@ public class JSONObject { public long optLong(final String key) { return this.optLong(key, 0); } - + /** * Get an optional long value associated with a key, or the default if there is no such key or if the value is not a * number. If the value is a string, an attempt will be made to evaluate it as a number. @@ -1058,7 +1058,7 @@ public class JSONObject { return defaultValue; } } - + /** * Get an optional string associated with a key. It returns an empty string if there is no such key. If the value is * not a string and is not null, then it is converted to a string. @@ -1070,7 +1070,7 @@ public class JSONObject { public String optString(final String key) { return this.optString(key, ""); } - + /** * Get an optional string associated with a key. It returns the defaultValue if there is no such key. * @@ -1083,7 +1083,7 @@ public class JSONObject { final Object object = this.opt(key); return NULL.equals(object) ? defaultValue : object.toString(); } - + private void populateMap(final Object bean) { final Class klass = bean.getClass(); // If klass is a System class then set includeSuperClass to false. @@ -1119,7 +1119,7 @@ public class JSONObject { } } } - + /** * Put a key/boolean pair in the JSONObject. * @@ -1134,7 +1134,7 @@ public class JSONObject { this.put(key, value ? Boolean.TRUE : Boolean.FALSE); return this; } - + /** * Put a key/value pair in the JSONObject, where the value will be a JSONArray which is produced from a Collection. * @@ -1149,7 +1149,7 @@ public class JSONObject { this.put(key, new JSONArray(value)); return this; } - + /** * Put a key/double pair in the JSONObject. * @@ -1164,7 +1164,7 @@ public class JSONObject { this.put(key, new Double(value)); return this; } - + /** * Put a key/int pair in the JSONObject. * @@ -1179,7 +1179,7 @@ public class JSONObject { this.put(key, new Integer(value)); return this; } - + /** * Put a key/long pair in the JSONObject. * @@ -1194,7 +1194,7 @@ public class JSONObject { this.put(key, new Long(value)); return this; } - + /** * Put a key/value pair in the JSONObject, where the value will be a JSONObject which is produced from a Map. * @@ -1209,7 +1209,7 @@ public class JSONObject { this.put(key, new JSONObject(value)); return this; } - + /** * Put a key/value pair in the JSONObject. If the value is null, then the key will be removed from the JSONObject if * it is present. @@ -1234,7 +1234,7 @@ public class JSONObject { } return this; } - + /** * Put a key/value pair in the JSONObject, but only if the key and the value are both non-null, and only if there is * not already a member with that name. @@ -1255,7 +1255,7 @@ public class JSONObject { } return this; } - + /** * Put a key/value pair in the JSONObject, but only if the key and the value are both non-null. * @@ -1273,7 +1273,7 @@ public class JSONObject { } return this; } - + /** * Remove a name and its value, if present. * @@ -1284,7 +1284,7 @@ public class JSONObject { public Object remove(final String key) { return this.map.remove(key); } - + /** * Determine if two JSONObjects are similar. They must contain the same set of names which must be associated with * similar values. @@ -1322,7 +1322,7 @@ public class JSONObject { return false; } } - + /** * Produce a JSONArray containing the values of the members of this JSONObject. * @@ -1343,7 +1343,7 @@ public class JSONObject { } return ja; } - + /** * Make a JSON text of this JSONObject. For compactness, no whitespace is added. If this would not result in a * syntactically correct JSON text, then null will be returned instead. @@ -1362,7 +1362,7 @@ public class JSONObject { return null; } } - + /** * Make a prettyprinted JSON text of this JSONObject. *

@@ -1382,7 +1382,7 @@ public class JSONObject { return this.write(w, indentFactor, 0).toString(); } } - + /** * Write the contents of the JSONObject as JSON text to a writer. For compactness, no whitespace is added. *

@@ -1395,7 +1395,7 @@ public class JSONObject { public Writer write(final Writer writer) throws JSONException { return this.write(writer, 0, 0); } - + /** * Write the contents of the JSONObject as JSON text to a writer. For compactness, no whitespace is added. *

@@ -1449,7 +1449,7 @@ public class JSONObject { throw new JSONException(exception); } } - + /** * JSONObject.NULL is equivalent to the value that JavaScript calls null, whilst Java's null is equivalent to the * value that JavaScript calls undefined. @@ -1468,7 +1468,7 @@ public class JSONObject { return this; } } - + /** * A Null object is equal to the null value and to itself. * @@ -1480,7 +1480,7 @@ public class JSONObject { public boolean equals(final Object object) { return (object == null) || (object == this); } - + /** * Get the "null" string value. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONStringer.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONStringer.java index d29ae0e46..053001408 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONStringer.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONStringer.java @@ -40,7 +40,7 @@ public class JSONStringer extends JSONWriter { public JSONStringer() { super(new StringWriter()); } - + /** * Return the JSON text. This method is used to obtain the product of the JSONStringer instance. It will return * null if there was a problem in the construction of the JSON text (such as the calls to diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONTokener.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONTokener.java index 62f0fa135..0c86068ea 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONTokener.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONTokener.java @@ -22,7 +22,7 @@ public class JSONTokener { private long line; private char previous; private boolean usePrevious; - + /** * Construct a JSONTokener from a Reader. * @@ -37,7 +37,7 @@ public class JSONTokener { this.character = 1; this.line = 1; } - + /** * Construct a JSONTokener from an InputStream. * @@ -46,7 +46,7 @@ public class JSONTokener { public JSONTokener(final InputStream inputStream) throws JSONException { this(new InputStreamReader(inputStream)); } - + /** * Construct a JSONTokener from a string. * @@ -55,7 +55,7 @@ public class JSONTokener { public JSONTokener(final String s) { this(new StringReader(s)); } - + /** * Get the hex value of a character (base16). * @@ -75,7 +75,7 @@ public class JSONTokener { } return -1; } - + /** * Back up one character. This provides a sort of lookahead capability, so that you can test for a digit or letter * before attempting to parse the next number or identifier. @@ -89,11 +89,11 @@ public class JSONTokener { this.usePrevious = true; this.eof = false; } - + public boolean end() { return this.eof && !this.usePrevious; } - + /** * Determine if the source string still contains characters that next() can consume. * @@ -107,7 +107,7 @@ public class JSONTokener { this.back(); return true; } - + /** * Get the next character in the source string. * @@ -142,7 +142,7 @@ public class JSONTokener { this.previous = (char) c; return this.previous; } - + /** * Consume the next character, and check that it matches a specified character. * @@ -159,7 +159,7 @@ public class JSONTokener { } return n; } - + /** * Get the next n characters. * @@ -184,7 +184,7 @@ public class JSONTokener { } return new String(chars); } - + /** * Get the next char in the string, skipping whitespace. * @@ -200,7 +200,7 @@ public class JSONTokener { } } } - + /** * Return the characters up to the next close quote character. Backslash processing is done. The formal JSON format * does not allow strings in single quotes, but an implementation is allowed to accept them. @@ -261,7 +261,7 @@ public class JSONTokener { } } } - + /** * Get the text up but not including the specified character or the end of line, whichever comes first. * @@ -282,7 +282,7 @@ public class JSONTokener { sb.append(c); } } - + /** * Get the text up but not including one of the specified delimiter characters or the end of line, whichever comes * first. @@ -305,7 +305,7 @@ public class JSONTokener { sb.append(c); } } - + /** * Get the next value. The value can be a Boolean, Double, Integer, JSONArray, JSONObject, Long, or String, or the * JSONObject.NULL object. @@ -347,7 +347,7 @@ public class JSONTokener { } return JSONObject.stringToValue(string); } - + /** * Skip characters until the next character is the requested character. If the requested character is not found, no * characters are skipped. @@ -379,7 +379,7 @@ public class JSONTokener { this.back(); return c; } - + /** * Make a JSONException to signal a syntax error. * @@ -390,7 +390,7 @@ public class JSONTokener { public JSONException syntaxError(final String message) { return new JSONException(message + this.toString()); } - + /** * Make a printable string of this JSONTokener. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONWriter.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONWriter.java index a332af1f8..082d37e26 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONWriter.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/JSONWriter.java @@ -55,7 +55,7 @@ public class JSONWriter { * The stack top index. A value of 0 indicates that the stack is empty. */ private int top; - + /** * Make a fresh JSONWriter. It can be used to build one JSON text. */ @@ -66,7 +66,7 @@ public class JSONWriter { this.top = 0; this.writer = w; } - + /** * Append a value. * @@ -97,7 +97,7 @@ public class JSONWriter { } throw new JSONException("Value out of sequence."); } - + /** * Begin appending a new array. All values until the balancing endArray will be appended to this array. * The endArray method must be called to mark the array's end. @@ -116,7 +116,7 @@ public class JSONWriter { } throw new JSONException("Misplaced array."); } - + /** * End something. * @@ -140,7 +140,7 @@ public class JSONWriter { this.comma = true; return this; } - + /** * End an array. This method most be called to balance calls to array. * @@ -151,7 +151,7 @@ public class JSONWriter { public JSONWriter endArray() throws JSONException { return this.end('a', ']'); } - + /** * End an object. This method most be called to balance calls to object. * @@ -162,7 +162,7 @@ public class JSONWriter { public JSONWriter endObject() throws JSONException { return this.end('k', '}'); } - + /** * Append a key. The key will be associated with the next value. In an object, every value must be preceded by a * key. @@ -195,7 +195,7 @@ public class JSONWriter { } throw new JSONException("Misplaced key."); } - + /** * Begin appending a new object. All keys and values until the balancing endObject will be appended to * this object. The endObject method must be called to mark the object's end. @@ -217,7 +217,7 @@ public class JSONWriter { } throw new JSONException("Misplaced object."); } - + /** * Pop an array or object scope. * @@ -236,7 +236,7 @@ public class JSONWriter { this.top -= 1; this.mode = this.top == 0 ? 'd' : this.stack[this.top - 1] == null ? 'a' : 'k'; } - + /** * Push an array or object scope. * @@ -252,7 +252,7 @@ public class JSONWriter { this.mode = jo == null ? 'a' : 'k'; this.top += 1; } - + /** * Append either the value true or the value false . * @@ -265,7 +265,7 @@ public class JSONWriter { public JSONWriter value(final boolean b) throws JSONException { return this.append(b ? "true" : "false"); } - + /** * Append a double value. * @@ -278,7 +278,7 @@ public class JSONWriter { public JSONWriter value(final double d) throws JSONException { return this.value(new Double(d)); } - + /** * Append a long value. * @@ -291,7 +291,7 @@ public class JSONWriter { public JSONWriter value(final long l) throws JSONException { return this.append(Long.toString(l)); } - + /** * Append an object value. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/Kim.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/Kim.java index 03520de0d..facac85e4 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/Kim.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/Kim.java @@ -43,7 +43,7 @@ public class Kim { * The memoization of toString(). */ private String string = null; - + /** * Make a kim from a portion of a byte array. * @@ -70,7 +70,7 @@ public class Kim { this.hashcode += sum << 16; } } - + /** * Make a kim from a byte array. * @@ -80,7 +80,7 @@ public class Kim { public Kim(final byte[] bytes, final int length) { this(bytes, 0, length); } - + /** * Make a new kim from a substring of an existing kim. The coordinates are in byte units, not character units. * @@ -91,7 +91,7 @@ public class Kim { public Kim(final Kim kim, final int from, final int thru) { this(kim.bytes, from, thru); } - + /** * Make a kim from a string. * @@ -173,7 +173,7 @@ public class Kim { this.hashcode += sum << 16; } } - + /** * Returns the number of bytes needed to contain the character in Kim format. * @@ -189,7 +189,7 @@ public class Kim { } return character <= 0x7F ? 1 : character <= 0x3FFF ? 2 : 3; } - + /** * Returns the character at the specified index. The index refers to byte values and ranges from 0 to length - 1. * The index of the next character is at index + Kim.characterSize(kim.characterAt(index)). @@ -220,7 +220,7 @@ public class Kim { } throw new JSONException("Bad character at " + at); } - + /** * Copy the contents of this kim to a byte array. * @@ -233,7 +233,7 @@ public class Kim { System.arraycopy(this.bytes, 0, bytes, at, this.length); return at + this.length; } - + /** * Two kim objects containing exactly the same bytes in the same order are equal to each other. * @@ -255,7 +255,7 @@ public class Kim { } return java.util.Arrays.equals(this.bytes, that.bytes); } - + /** * Get a byte from a kim. * @@ -271,7 +271,7 @@ public class Kim { } return (this.bytes[at]) & 0xFF; } - + /** * Returns a hash code value for the kim. */ @@ -279,7 +279,7 @@ public class Kim { public int hashCode() { return this.hashcode; } - + /** * Produce a UTF-16 String from this kim. The number of codepoints in the string will not be greater than the number * of bytes in the kim, although it could be less. diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/Property.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/Property.java index a177df954..cdbaba42d 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/Property.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/Property.java @@ -51,7 +51,7 @@ public class Property { } return jo; } - + /** * Converts the JSONObject into a property file object. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/XML.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/XML.java index c14748a1c..6e0d36127 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/XML.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/XML.java @@ -45,7 +45,7 @@ public class XML { * The Character '/'. */ public static final Character SLASH = '/'; - + /** * Replace special characters with XML escapes: *

@@ -87,7 +87,7 @@ public class XML { } return sb.toString(); } - + /** * Throw an exception if the string contains whitespace. Whitespace is not allowed in tagNames and attributes. * @@ -107,7 +107,7 @@ public class XML { } } } - + /** * Scan the content following the named tag, attaching it to the context. * @@ -257,7 +257,7 @@ public class XML { } } } - + /** * Try to convert a string into a number, boolean, or null. If the string can't be converted, return the string. * This is much less ambitious than JSONObject.stringToValue, especially because it does not attempt to convert plus @@ -299,7 +299,7 @@ public class XML { } return string; } - + /** * Convert a well-formed (but not necessarily valid) XML string into a JSONObject. Some information may be lost in * this transformation because JSON is a data format and XML is a document format. XML uses elements, attributes, @@ -322,7 +322,7 @@ public class XML { } return jo; } - + /** * Convert a JSONObject into a well-formed, element-normal XML string. * @@ -335,7 +335,7 @@ public class XML { public static String toString(final Object object) throws JSONException { return toString(object, null); } - + /** * Convert a JSONObject into a well-formed, element-normal XML string. * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/json/XMLTokener.java b/PlotSquared/src/main/java/com/intellectualcrafters/json/XMLTokener.java index 1431939c7..d0e39ad36 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/json/XMLTokener.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/json/XMLTokener.java @@ -19,7 +19,7 @@ public class XMLTokener extends JSONTokener { entity.put("lt", XML.LT); entity.put("quot", XML.QUOT); } - + /** * Construct an XMLTokener from a string. * @@ -28,7 +28,7 @@ public class XMLTokener extends JSONTokener { public XMLTokener(final String s) { super(s); } - + /** * Get the text in the CDATA block. * @@ -53,7 +53,7 @@ public class XMLTokener extends JSONTokener { } } } - + /** * Get the next XML outer token, trimming whitespace. There are two kinds of tokens: the '<' character which begins * a markup tag, and the content text between markup tags. @@ -88,7 +88,7 @@ public class XMLTokener extends JSONTokener { c = next(); } } - + /** * Return the next entity. These entities are translated to Characters: & ' > < * ". @@ -115,7 +115,7 @@ public class XMLTokener extends JSONTokener { final Object object = entity.get(string); return object != null ? object : ampersand + string + ";"; } - + /** * Returns the next XML meta token. This is used for skipping over and structures. * @@ -179,7 +179,7 @@ public class XMLTokener extends JSONTokener { } } } - + /** * Get the next XML Token. These tokens are found inside of angle brackets. It may be one of these characters: * / > = ! ? or it may be a string wrapped in single quotes or double quotes, or it may be a name. @@ -258,7 +258,7 @@ public class XMLTokener extends JSONTokener { } } } - + /** * Skip characters until past the requested string. If it is not found, we are left at the end of the source with a * result of false. diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/BukkitMain.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/BukkitMain.java index 1d5b63dea..49ea227c0 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/BukkitMain.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/BukkitMain.java @@ -12,10 +12,7 @@ import org.bukkit.World; import org.bukkit.command.PluginCommand; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerCommandPreprocessEvent; -import org.bukkit.event.world.WorldLoadEvent; import org.bukkit.generator.ChunkGenerator; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.RegisteredServiceProvider; @@ -28,7 +25,7 @@ import com.intellectualcrafters.plot.commands.WE_Anywhere; import com.intellectualcrafters.plot.config.C; import com.intellectualcrafters.plot.config.Settings; import com.intellectualcrafters.plot.database.PlotMeConverter; -import com.intellectualcrafters.plot.events.PlotDeleteEvent; +import com.intellectualcrafters.plot.flag.FlagManager; import com.intellectualcrafters.plot.generator.BukkitHybridUtils; import com.intellectualcrafters.plot.generator.HybridGen; import com.intellectualcrafters.plot.generator.HybridUtils; @@ -38,12 +35,19 @@ import com.intellectualcrafters.plot.listeners.PlayerEvents; import com.intellectualcrafters.plot.listeners.PlayerEvents_1_8; import com.intellectualcrafters.plot.listeners.PlotPlusListener; import com.intellectualcrafters.plot.listeners.WorldEditListener; -import com.intellectualcrafters.plot.object.PlotId; +import com.intellectualcrafters.plot.titles.AbstractTitle; +import com.intellectualcrafters.plot.titles.DefaultTitle; import com.intellectualcrafters.plot.util.BlockManager; +import com.intellectualcrafters.plot.util.BlockUpdateUtil; +import com.intellectualcrafters.plot.util.ChunkManager; import com.intellectualcrafters.plot.util.ConsoleColors; +import com.intellectualcrafters.plot.util.EventUtil; import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.SetupUtils; import com.intellectualcrafters.plot.util.TaskManager; +import com.intellectualcrafters.plot.util.bukkit.BukkitChunkManager; +import com.intellectualcrafters.plot.util.bukkit.BukkitEventUtil; +import com.intellectualcrafters.plot.util.bukkit.BukkitSetBlockManager; import com.intellectualcrafters.plot.util.bukkit.BukkitSetupUtils; import com.intellectualcrafters.plot.util.bukkit.BukkitTaskManager; import com.intellectualcrafters.plot.util.bukkit.BukkitUtil; @@ -51,19 +55,16 @@ import com.intellectualcrafters.plot.util.bukkit.Metrics; import com.intellectualcrafters.plot.util.bukkit.SendChunk; import com.intellectualcrafters.plot.util.bukkit.SetBlockFast; import com.intellectualcrafters.plot.util.bukkit.SetBlockFast_1_8; -import com.intellectualcrafters.plot.util.bukkit.SetBlockManager; import com.intellectualcrafters.plot.util.bukkit.SetBlockSlow; import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; +import com.intellectualcrafters.plot.uuid.DefaultUUIDWrapper; +import com.intellectualcrafters.plot.uuid.OfflineUUIDWrapper; +import com.intellectualcrafters.plot.uuid.UUIDWrapper; import com.sk89q.worldedit.bukkit.WorldEditPlugin; public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { public static BukkitMain THIS = null; public static PlotSquared MAIN = null; - - @EventHandler - public static void worldLoad(final WorldLoadEvent event) { - UUIDHandler.cacheAll(event.getWorld().getName()); - } public static boolean checkVersion(final int major, final int minor, final int minor2) { try { @@ -82,28 +83,11 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { return false; } } - - @EventHandler - public void PlayerCommand(final PlayerCommandPreprocessEvent event) { - final String message = event.getMessage(); - if (message.toLowerCase().startsWith("/plotme")) { - final Plugin plotme = Bukkit.getPluginManager().getPlugin("PlotMe"); - if (plotme == null) { - final Player player = event.getPlayer(); - if (Settings.USE_PLOTME_ALIAS) { - player.performCommand(message.replace("/plotme", "plots")); - } else { - MainUtil.sendMessage(BukkitUtil.getPlayer(player), C.NOT_USING_PLOTME); - } - event.setCancelled(true); - } - } - } - + @Override public void onEnable() { - MAIN = new PlotSquared(this); THIS = this; + MAIN = new PlotSquared(this); if (Settings.METRICS) { try { final Metrics metrics = new Metrics(this); @@ -117,16 +101,17 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { } getServer().getPluginManager().registerEvents(this, this); } - + @Override public void onDisable() { MAIN.disable(); MAIN = null; THIS = null; } - + @Override public void log(String message) { + message = message.replaceAll("\u00B2", "2"); if ((THIS == null) || (Bukkit.getServer().getConsoleSender() == null)) { System.out.println(ChatColor.stripColor(ConsoleColors.fromString(message))); } else { @@ -137,43 +122,44 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { Bukkit.getServer().getConsoleSender().sendMessage(message); } } - + @Override public void disable() { onDisable(); } - + @Override public String getVersion() { return this.getDescription().getVersion(); } - + @Override public void registerCommands() { - final MainCommand command = new MainCommand(); + new MainCommand(); final BukkitCommand bcmd = new BukkitCommand(); final PluginCommand plotCommand = getCommand("plots"); plotCommand.setExecutor(bcmd); plotCommand.setAliases(Arrays.asList("p", "ps", "plotme", "plot")); plotCommand.setTabCompleter(bcmd); } - + @Override public File getDirectory() { return getDataFolder(); } - + @Override public TaskManager getTaskManager() { return new BukkitTaskManager(); } - + @Override public void runEntityTask() { log(C.PREFIX.s() + "KillAllEntities started."); TaskManager.runTaskRepeat(new Runnable() { long ticked = 0l; long error = 0l; + @Override public void run() { if (this.ticked > 36_000L) { @@ -208,15 +194,15 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { } }, 20); } - + @Override final public ChunkGenerator getDefaultWorldGenerator(final String world, final String id) { if (!PlotSquared.setupPlotWorld(world, id)) { return null; } - return new HybridGen(world); + return new HybridGen(); } - + @Override public void registerPlayerEvents() { getServer().getPluginManager().registerEvents(new PlayerEvents(), this); @@ -224,23 +210,23 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { getServer().getPluginManager().registerEvents(new PlayerEvents_1_8(), this); } } - + @Override public void registerInventoryEvents() { getServer().getPluginManager().registerEvents(new InventoryListener(), this); } - + @Override public void registerPlotPlusEvents() { PlotPlusListener.startRunnable(this); getServer().getPluginManager().registerEvents(new PlotPlusListener(), this); } - + @Override public void registerForceFieldEvents() { getServer().getPluginManager().registerEvents(new ForceFieldListener(), this); } - + @Override public void registerWorldEditEvents() { if (getServer().getPluginManager().getPlugin("WorldEdit") != null) { @@ -256,7 +242,7 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { } } } - + @Override public Economy getEconomy() { if ((getServer().getPluginManager().getPlugin("Vault") != null) && getServer().getPluginManager().getPlugin("Vault").isEnabled()) { @@ -268,23 +254,24 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { } return null; } - + @Override public BlockManager initBlockManager() { if (checkVersion(1, 8, 0)) { try { - SetBlockManager.setBlockManager = new SetBlockFast_1_8(); + BukkitSetBlockManager.setBlockManager = new SetBlockFast_1_8(); } catch (final Throwable e) { e.printStackTrace(); - SetBlockManager.setBlockManager = new SetBlockSlow(); + BukkitSetBlockManager.setBlockManager = new SetBlockSlow(); } } else { try { - SetBlockManager.setBlockManager = new SetBlockFast(); + BukkitSetBlockManager.setBlockManager = new SetBlockFast(); } catch (final Throwable e) { - SetBlockManager.setBlockManager = new SetBlockSlow(); + BukkitSetBlockManager.setBlockManager = new SetBlockSlow(); } } + BlockUpdateUtil.setBlockManager = BukkitSetBlockManager.setBlockManager; try { new SendChunk(); MainUtil.canSendChunk = true; @@ -293,7 +280,7 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { } return BlockManager.manager = new BukkitUtil(); } - + @Override public boolean initPlotMeConverter() { try { @@ -306,35 +293,62 @@ public class BukkitMain extends JavaPlugin implements Listener, IPlotMain { } return false; } - + @Override public void getGenerator(final String world, final String name) { final Plugin gen_plugin = Bukkit.getPluginManager().getPlugin(name); if ((gen_plugin != null) && gen_plugin.isEnabled()) { gen_plugin.getDefaultWorldGenerator(world, ""); } else { - new HybridGen(world); + new HybridGen(); } } - - @Override - public boolean callRemovePlot(final String world, final PlotId id) { - final PlotDeleteEvent event = new PlotDeleteEvent(world, id); - Bukkit.getServer().getPluginManager().callEvent(event); - if (event.isCancelled()) { - event.setCancelled(true); - return false; - } - return true; - } @Override public HybridUtils initHybridUtils() { return new BukkitHybridUtils(); } - + @Override public SetupUtils initSetupUtils() { return new BukkitSetupUtils(); } + + @Override + public UUIDWrapper initUUIDHandler() { + final boolean checkVersion = checkVersion(1, 7, 6); + if (!checkVersion) { + log(C.PREFIX.s() + " &c[WARN] Titles are disabled - please update your version of Bukkit to support this feature."); + Settings.TITLES = false; + FlagManager.removeFlag(FlagManager.getFlag("titles")); + } else { + AbstractTitle.TITLE_CLASS = new DefaultTitle(); + } + if (Settings.OFFLINE_MODE) { + UUIDHandler.uuidWrapper = new OfflineUUIDWrapper(); + Settings.OFFLINE_MODE = true; + } else if (checkVersion) { + UUIDHandler.uuidWrapper = new DefaultUUIDWrapper(); + Settings.OFFLINE_MODE = false; + } else { + UUIDHandler.uuidWrapper = new OfflineUUIDWrapper(); + Settings.OFFLINE_MODE = true; + } + if (Settings.OFFLINE_MODE) { + log(C.PREFIX.s() + " &6PlotSquared is using Offline Mode UUIDs either because of user preference, or because you are using an old version of Bukkit"); + } else { + log(C.PREFIX.s() + " &6PlotSquared is using online UUIDs"); + } + return UUIDHandler.uuidWrapper; + } + + @Override + public ChunkManager initChunkManager() { + return new BukkitChunkManager(); + } + + @Override + public EventUtil initEventUtil() { + return new BukkitEventUtil(); + } } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/IPlotMain.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/IPlotMain.java index 76c59e5ac..fdd5dc407 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/IPlotMain.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/IPlotMain.java @@ -5,47 +5,53 @@ import java.io.File; import net.milkbowl.vault.economy.Economy; import com.intellectualcrafters.plot.generator.HybridUtils; -import com.intellectualcrafters.plot.object.PlotId; import com.intellectualcrafters.plot.util.BlockManager; +import com.intellectualcrafters.plot.util.ChunkManager; +import com.intellectualcrafters.plot.util.EventUtil; import com.intellectualcrafters.plot.util.SetupUtils; import com.intellectualcrafters.plot.util.TaskManager; +import com.intellectualcrafters.plot.uuid.UUIDWrapper; public interface IPlotMain { public void log(String message); - + public File getDirectory(); - + public void disable(); - + public String getVersion(); - + public TaskManager getTaskManager(); - + public void runEntityTask(); - + public void registerCommands(); - + public void registerPlayerEvents(); - + public void registerInventoryEvents(); - + public void registerPlotPlusEvents(); - + public void registerForceFieldEvents(); - + public void registerWorldEditEvents(); - + public Economy getEconomy(); - + public BlockManager initBlockManager(); + public EventUtil initEventUtil(); + + public ChunkManager initChunkManager(); + public SetupUtils initSetupUtils(); - + public HybridUtils initHybridUtils(); - + + public UUIDWrapper initUUIDHandler(); + public boolean initPlotMeConverter(); - + public void getGenerator(String world, String name); - - public boolean callRemovePlot(String world, PlotId id); } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/PlotSquared.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/PlotSquared.java index ed5d96fd1..37ea49f49 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/PlotSquared.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/PlotSquared.java @@ -50,12 +50,14 @@ import com.intellectualcrafters.plot.object.PlotManager; import com.intellectualcrafters.plot.object.PlotPlayer; import com.intellectualcrafters.plot.object.PlotWorld; import com.intellectualcrafters.plot.util.BlockManager; +import com.intellectualcrafters.plot.util.ChunkManager; import com.intellectualcrafters.plot.util.ClusterManager; +import com.intellectualcrafters.plot.util.EventUtil; import com.intellectualcrafters.plot.util.ExpireManager; import com.intellectualcrafters.plot.util.Logger; -import com.intellectualcrafters.plot.util.SetupUtils; import com.intellectualcrafters.plot.util.Logger.LogLevel; import com.intellectualcrafters.plot.util.MainUtil; +import com.intellectualcrafters.plot.util.SetupUtils; import com.intellectualcrafters.plot.util.TaskManager; import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; import com.sk89q.worldedit.bukkit.WorldEditPlugin; @@ -81,11 +83,11 @@ public class PlotSquared { private static LinkedHashMap> plots; private static MySQL mySQL; public static Connection connection; - + public static MySQL getMySQL() { return mySQL; } - + public static void updatePlot(final Plot plot) { final String world = plot.world; if (!plots.containsKey(world)) { @@ -94,14 +96,14 @@ public class PlotSquared { plot.hasChanged = true; plots.get(world).put(plot.id, plot); } - + public static PlotWorld getPlotWorld(final String world) { if (plotworlds.containsKey(world)) { return plotworlds.get(world); } return null; } - + public static void addPlotWorld(final String world, final PlotWorld plotworld, final PlotManager manager) { plotworlds.put(world, plotworld); plotmanagers.put(world, manager); @@ -109,21 +111,21 @@ public class PlotSquared { plots.put(world, new HashMap()); } } - + public static void removePlotWorld(final String world) { plots.remove(world); plotmanagers.remove(world); plotworlds.remove(world); } - + public static HashMap> getAllPlotsRaw() { return plots; } - + public static void setAllPlotsRaw(final LinkedHashMap> plots) { PlotSquared.plots = plots; } - + public static Set getPlots() { final ArrayList newplots = new ArrayList<>(); for (final HashMap world : plots.values()) { @@ -131,7 +133,7 @@ public class PlotSquared { } return new LinkedHashSet<>(newplots); } - + public static LinkedHashSet getPlotsSorted() { final ArrayList newplots = new ArrayList<>(); for (final HashMap world : plots.values()) { @@ -139,17 +141,17 @@ public class PlotSquared { } return new LinkedHashSet<>(newplots); } - + public static Set getPlots(final String world, final String player) { final UUID uuid = UUIDHandler.getUUID(player); return getPlots(world, uuid); } - + public static Set getPlots(final String world, final PlotPlayer player) { final UUID uuid = player.getUUID(); return getPlots(world, uuid); } - + public static Set getPlots(final String world, final UUID uuid) { final ArrayList myplots = new ArrayList<>(); for (final Plot plot : getPlots(world).values()) { @@ -161,30 +163,30 @@ public class PlotSquared { } return new HashSet<>(myplots); } - + public static boolean isPlotWorld(final String world) { return (plotworlds.containsKey(world)); } - + public static PlotManager getPlotManager(final String world) { if (plotmanagers.containsKey(world)) { return plotmanagers.get(world); } return null; } - + public static String[] getPlotWorldsString() { final Set strings = plots.keySet(); return strings.toArray(new String[strings.size()]); } - + public static HashMap getPlots(final String world) { if (plots.containsKey(world)) { return plots.get(world); } return new HashMap<>(); } - + public static Set getPlots(final PlotPlayer player) { final UUID uuid = player.getUUID(); final ArrayList myplots = new ArrayList<>(); @@ -201,13 +203,9 @@ public class PlotSquared { } return new HashSet<>(myplots); } - + public static boolean removePlot(final String world, final PlotId id, final boolean callEvent) { - if (callEvent) { - if (!IMP.callRemovePlot(world, id)) { - return false; - } - } + EventUtil.manager.callDelete(world, id); plots.get(world).remove(id); if (MainUtil.lastPlot.containsKey(world)) { final PlotId last = MainUtil.lastPlot.get(world); @@ -219,13 +217,16 @@ public class PlotSquared { } return true; } - + public static void loadWorld(final String world, final PlotGenerator generator) { - if (getPlotWorld(world) != null) { + PlotWorld plotWorld = getPlotWorld(world); + if (plotWorld != null) { + if (generator != null) { + generator.init(plotWorld); + } return; } final Set worlds = (config.contains("worlds") ? config.getConfigurationSection("worlds").getKeys(false) : new HashSet()); - final PlotWorld plotWorld; final PlotGenerator plotGenerator; final PlotManager plotManager; final String path = "worlds." + world; @@ -251,6 +252,7 @@ public class PlotSquared { } // Now add it addPlotWorld(world, plotWorld, plotManager); + generator.init(plotWorld); MainUtil.setupBorder(world); } else { if (!worlds.contains(world)) { @@ -261,7 +263,7 @@ public class PlotSquared { try { final String gen_string = config.getString("worlds." + world + "." + "generator.plugin"); if (gen_string == null) { - new HybridGen(world); + new HybridGen(); } else { IMP.getGenerator(world, gen_string); } @@ -303,10 +305,11 @@ public class PlotSquared { } else if (plotWorld.TYPE == 1) { new AugmentedPopulator(world, gen_class, null, plotWorld.TERRAIN == 2, plotWorld.TERRAIN != 2); } + gen_class.init(plotWorld); } } } - + public static boolean setupPlotWorld(final String world, final String id) { if ((id != null) && (id.length() > 0)) { // save configuration @@ -398,11 +401,11 @@ public class PlotSquared { } return true; } - + public static Connection getConnection() { return connection; } - + public PlotSquared(final IPlotMain imp_class) { THIS = this; IMP = imp_class; @@ -437,12 +440,18 @@ public class PlotSquared { IMP.registerPlotPlusEvents(); IMP.registerForceFieldEvents(); IMP.registerWorldEditEvents(); + // create UUIDWrapper + UUIDHandler.uuidWrapper = IMP.initUUIDHandler(); + // create event util class + EventUtil.manager = IMP.initEventUtil(); // create Hybrid utility class HybridUtils.manager = IMP.initHybridUtils(); // create setup util class SetupUtils.manager = IMP.initSetupUtils(); // Set block BlockManager.manager = IMP.initBlockManager(); + // Set chunk + ChunkManager.manager = IMP.initChunkManager(); // PlotMe TaskManager.runTaskLater(new Runnable() { @Override @@ -460,7 +469,7 @@ public class PlotSquared { ExpireManager.runTask(); } } - + public void disable() { try { connection.close(); @@ -471,11 +480,11 @@ public class PlotSquared { } } } - + public static void log(final String message) { IMP.log(message); } - + public void setupDatabase() { final String[] tables; if (Settings.ENABLE_CLUSTERS) { @@ -558,7 +567,7 @@ public class PlotSquared { return; } } - + public static void setupDefaultFlags() { final List booleanFlags = Arrays.asList("notify-enter", "notify-leave", "item-drop", "invincible", "instabreak", "drop-protection", "forcefield", "titles", "pve", "pvp", "no-worldedit"); final List intervalFlags = Arrays.asList("feed", "heal"); @@ -609,7 +618,7 @@ public class PlotSquared { return null; } } - + @Override public String getValueDesc() { return "Flag value must be a gamemode: 'creative' , 'survival' or 'adventure'"; @@ -633,14 +642,14 @@ public class PlotSquared { return null; } } - + @Override public String getValueDesc() { return "Flag value must be weather type: 'clear' or 'rain'"; } }); } - + public static void setupConfig() { config.set("version", VERSION); final Map options = new HashMap<>(); @@ -699,7 +708,7 @@ public class PlotSquared { Settings.UUID_FROM_DISK = config.getBoolean("uuid.read-from-disk"); Settings.REQUIRE_SELECTION = config.getBoolean("worldedit.require-selection-in-mask"); } - + public static void setupConfigs() { final File folder = new File(IMP.getDirectory() + File.separator + "config"); if (!folder.exists() && !folder.mkdirs()) { @@ -716,7 +725,7 @@ public class PlotSquared { setupStyle(); } catch (final Exception err) { Logger.add(LogLevel.DANGER, "Failed to save style.yml"); - System.out.println("failed to save style.yml"); + log("failed to save style.yml"); } try { configFile = new File(IMP.getDirectory() + File.separator + "config" + File.separator + "settings.yml"); @@ -729,7 +738,7 @@ public class PlotSquared { setupConfig(); } catch (final Exception err_trans) { Logger.add(LogLevel.DANGER, "Failed to save settings.yml"); - System.out.println("Failed to save settings.yml"); + log("Failed to save settings.yml"); } try { storageFile = new File(IMP.getDirectory() + File.separator + "config" + File.separator + "storage.yml"); @@ -742,7 +751,7 @@ public class PlotSquared { setupStorage(); } catch (final Exception err_trans) { Logger.add(LogLevel.DANGER, "Failed to save storage.yml"); - System.out.println("Failed to save storage.yml"); + log("Failed to save storage.yml"); } try { style.save(styleFile); @@ -753,7 +762,7 @@ public class PlotSquared { e.printStackTrace(); } } - + private static void setupStorage() { storage.set("version", VERSION); final Map options = new HashMap<>(); @@ -771,9 +780,6 @@ public class PlotSquared { storage.set(node.getKey(), node.getValue()); } } - } - - public static void showDebug() { Settings.DB.USE_MYSQL = storage.getBoolean("mysql.use"); Settings.DB.USER = storage.getString("mysql.user"); Settings.DB.PASSWORD = storage.getString("mysql.password"); @@ -790,10 +796,13 @@ public class PlotSquared { Settings.API_URL = config.getString("uuid.api.location"); Settings.CUSTOM_API = config.getBoolean("uuid.api.custom"); Settings.UUID_FECTHING = config.getBoolean("uuid.fetching"); - C.COLOR_1 = "\u00A7" + (style.getString("color.1")); - C.COLOR_2 = "\u00A7" + (style.getString("color.2")); - C.COLOR_3 = "\u00A7" + (style.getString("color.3")); - C.COLOR_4 = "\u00A7" + (style.getString("color.4")); + } + + public static void showDebug() { + C.COLOR_1 = "&" + (style.getString("color.1")); + C.COLOR_2 = "&" + (style.getString("color.2")); + C.COLOR_3 = "&" + (style.getString("color.3")); + C.COLOR_4 = "&" + (style.getString("color.4")); if (Settings.DEBUG) { final Map settings = new HashMap<>(); settings.put("Kill Road Mobs", "" + Settings.KILL_ROAD_MOBS); @@ -811,7 +820,7 @@ public class PlotSquared { } } } - + private static void setupStyle() { style.set("version", VERSION); final Map o = new HashMap<>(); @@ -825,11 +834,11 @@ public class PlotSquared { } } } - + public static double getJavaVersion() { return Double.parseDouble(System.getProperty("java.specification.version")); } - + public static Set getPlotWorlds() { return plotworlds.keySet(); } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Auto.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Auto.java index e16129fcf..31cecb185 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Auto.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Auto.java @@ -40,7 +40,7 @@ public class Auto extends SubCommand { public Auto() { super("auto", "plots.auto", "Claim the nearest plot", "auto", "a", CommandCategory.CLAIMING, true); } - + public static PlotId getNextPlot(final PlotId id, final int step) { final int absX = Math.abs(id.x); final int absY = Math.abs(id.y); @@ -69,7 +69,7 @@ public class Auto extends SubCommand { return new PlotId(id.x + 1, id.y); } } - + // TODO auto claim a mega plot with schematic @Override public boolean execute(final PlotPlayer plr, final String... args) { @@ -119,7 +119,7 @@ public class Auto extends SubCommand { MainUtil.sendMessage(plr, C.CANT_CLAIM_MORE_PLOTS_NUM, Settings.MAX_AUTO_SIZE + ""); return false; } - int currentPlots = MainUtil.getPlayerPlotCount(world, plr); + final int currentPlots = MainUtil.getPlayerPlotCount(world, plr); final int diff = currentPlots - MainUtil.getAllowedPlots(plr, currentPlots); if ((diff + (size_x * size_z)) > 0) { if (diff < 0) { @@ -231,7 +231,7 @@ public class Auto extends SubCommand { MainUtil.lastPlot.put(worldname, new PlotId(0, 0)); return true; } - + public PlotId getLastPlot(final String world) { if ((MainUtil.lastPlot == null) || !MainUtil.lastPlot.containsKey(world)) { MainUtil.lastPlot.put(world, new PlotId(0, 0)); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/BukkitCommand.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/BukkitCommand.java index 852bfeaa2..0e05fefe0 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/BukkitCommand.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/BukkitCommand.java @@ -19,16 +19,15 @@ import com.intellectualcrafters.plot.util.bukkit.BukkitUtil; * @author Citymonstret */ public class BukkitCommand implements CommandExecutor, TabCompleter { - - @Override - public boolean onCommand(CommandSender commandSender, Command command, String commandLabel, String[] args) { - Player player = null; - if (commandSender instanceof Player) { - player = (Player) commandSender; - } - return MainCommand.onCommand(BukkitUtil.getPlayer(player), commandLabel, args); - } + @Override + public boolean onCommand(final CommandSender commandSender, final Command command, final String commandLabel, final String[] args) { + if (commandSender instanceof Player) { + return MainCommand.onCommand(BukkitUtil.getPlayer((Player) commandSender), commandLabel, args); + } + return MainCommand.onCommand(null, commandLabel, args); + } + @Override public List onTabComplete(final CommandSender commandSender, final Command command, final String s, final String[] strings) { if (!(commandSender instanceof Player)) { diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Buy.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Buy.java index 218876b4c..624ff89cf 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Buy.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Buy.java @@ -41,13 +41,13 @@ public class Buy extends SubCommand { public Buy() { super(Command.BUY, "Buy the plot you are standing on", "b", CommandCategory.CLAIMING, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (PlotSquared.economy == null) { return sendMessage(plr, C.ECON_DISABLED); } - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final String world = loc.getWorld(); if (!PlotSquared.isPlotWorld(world)) { return sendMessage(plr, C.NOT_IN_PLOT_WORLD); @@ -67,7 +67,7 @@ public class Buy extends SubCommand { if (plot == null) { return sendMessage(plr, C.NOT_IN_PLOT); } - int currentPlots = MainUtil.getPlayerPlotCount(world, plr); + final int currentPlots = MainUtil.getPlayerPlotCount(world, plr); if (currentPlots >= MainUtil.getAllowedPlots(plr, currentPlots)) { return sendMessage(plr, C.CANT_CLAIM_MORE_PLOTS); } @@ -91,14 +91,14 @@ public class Buy extends SubCommand { price += plotworld.PLOT_PRICE * size; initPrice += plotworld.SELL_PRICE * size; } - if (PlotSquared.economy != null && price > 0d) { + if ((PlotSquared.economy != null) && (price > 0d)) { if (EconHandler.getBalance(plr) < price) { return sendMessage(plr, C.CANNOT_AFFORD_PLOT, "" + price); } EconHandler.withdrawPlayer(plr, price); sendMessage(plr, C.REMOVED_BALANCE, price + ""); EconHandler.depositPlayer(UUIDHandler.uuidWrapper.getOfflinePlayer(plot.owner), initPrice); - PlotPlayer owner = UUIDHandler.getPlayer(plot.owner); + final PlotPlayer owner = UUIDHandler.getPlayer(plot.owner); if (owner != null) { sendMessage(plr, C.PLOT_SOLD, plot.id + "", plr.getName(), initPrice + ""); } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Claim.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Claim.java index b22686649..afa6813fd 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Claim.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Claim.java @@ -20,8 +20,6 @@ //////////////////////////////////////////////////////////////////////////////////////////////////// package com.intellectualcrafters.plot.commands; -import net.milkbowl.vault.economy.Economy; - import com.intellectualcrafters.plot.PlotSquared; import com.intellectualcrafters.plot.config.C; import com.intellectualcrafters.plot.object.Location; @@ -29,9 +27,11 @@ import com.intellectualcrafters.plot.object.Plot; import com.intellectualcrafters.plot.object.PlotPlayer; import com.intellectualcrafters.plot.object.PlotWorld; import com.intellectualcrafters.plot.util.EconHandler; +import com.intellectualcrafters.plot.util.EventUtil; import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.Permissions; import com.intellectualcrafters.plot.util.SchematicHandler; +import com.intellectualcrafters.plot.util.SchematicHandler.Schematic; /** * @author Citymonstret @@ -40,26 +40,21 @@ public class Claim extends SubCommand { public Claim() { super(Command.CLAIM, "Claim the current plot you're standing on.", "claim", CommandCategory.CLAIMING, true); } - + public static boolean claimPlot(final PlotPlayer player, final Plot plot, final boolean teleport, final boolean auto) { return claimPlot(player, plot, teleport, "", auto); } - + public static boolean claimPlot(final PlotPlayer player, final Plot plot, final boolean teleport, final String schematic, final boolean auto) { if (plot.hasOwner() || plot.settings.isMerged()) { return false; } - // FIXME claim plot event -// final PlayerClaimPlotEvent event = new PlayerClaimPlotEvent(player, plot, auto); -// Bukkit.getPluginManager().callEvent(event); -// boolean result = event.isCancelled(); - boolean result = true; - - if (!result) { + final boolean result = EventUtil.manager.callClaim(player, plot, false); + if (result) { MainUtil.createPlot(player.getUUID(), plot); MainUtil.setSign(player.getName(), plot); MainUtil.sendMessage(player, C.CLAIMED); - Location loc = player.getLocation(); + final Location loc = player.getLocation(); if (teleport) { MainUtil.teleportPlayer(player, loc, plot); } @@ -67,35 +62,35 @@ public class Claim extends SubCommand { final PlotWorld plotworld = PlotSquared.getPlotWorld(world); final Plot plot2 = PlotSquared.getPlots(world).get(plot.id); if (plotworld.SCHEMATIC_ON_CLAIM) { - SchematicHandler.Schematic sch; + Schematic sch; if (schematic.equals("")) { - sch = SchematicHandler.getSchematic(plotworld.SCHEMATIC_FILE); + sch = SchematicHandler.manager.getSchematic(plotworld.SCHEMATIC_FILE); } else { - sch = SchematicHandler.getSchematic(schematic); + sch = SchematicHandler.manager.getSchematic(schematic); if (sch == null) { - sch = SchematicHandler.getSchematic(plotworld.SCHEMATIC_FILE); + sch = SchematicHandler.manager.getSchematic(plotworld.SCHEMATIC_FILE); } } - SchematicHandler.paste(player.getLocation(), sch, plot2, 0, 0); + SchematicHandler.manager.paste(sch, plot2, 0, 0); } PlotSquared.getPlotManager(world).claimPlot(plotworld, plot); MainUtil.update(loc); } - return !result; + return result; } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { String schematic = ""; if (args.length >= 1) { schematic = args[0]; } - Location loc = plr.getLocation(); - Plot plot = MainUtil.getPlot(loc); + final Location loc = plr.getLocation(); + final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return sendMessage(plr, C.NOT_IN_PLOT); } - int currentPlots = MainUtil.getPlayerPlotCount(loc.getWorld(), plr); + final int currentPlots = MainUtil.getPlayerPlotCount(loc.getWorld(), plr); if (currentPlots >= MainUtil.getAllowedPlots(plr, currentPlots)) { return sendMessage(plr, C.CANT_CLAIM_MORE_PLOTS); } @@ -103,10 +98,9 @@ public class Claim extends SubCommand { return sendMessage(plr, C.PLOT_IS_CLAIMED); } final PlotWorld world = PlotSquared.getPlotWorld(plot.world); - if (PlotSquared.economy != null && world.USE_ECONOMY) { + if ((PlotSquared.economy != null) && world.USE_ECONOMY) { final double cost = world.PLOT_PRICE; if (cost > 0d) { - final Economy economy = PlotSquared.economy; if (EconHandler.getBalance(plr) < cost) { return sendMessage(plr, C.CANNOT_AFFORD_PLOT, "" + cost); } @@ -124,6 +118,6 @@ public class Claim extends SubCommand { } } } - return !claimPlot(plr, plot, false, schematic, false) || sendMessage(plr, C.PLOT_NOT_CLAIMED); + return claimPlot(plr, plot, false, schematic, false) || sendMessage(plr, C.PLOT_NOT_CLAIMED); } } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Clear.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Clear.java index 2afd14432..8978785a1 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Clear.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Clear.java @@ -34,7 +34,7 @@ public class Clear extends SubCommand { public Clear() { super(Command.CLEAR, "Clear a plot", "clear", CommandCategory.ACTIONS, false); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (plr == null) { @@ -62,12 +62,12 @@ public class Clear extends SubCommand { } return true; } - Location loc = plr.getLocation(); - Plot plot = MainUtil.getPlot(loc); + final Location loc = plr.getLocation(); + final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return sendMessage(plr, C.NOT_IN_PLOT); } - if (!MainUtil.getTopPlot(plot).equals(MainUtil.getBottomPlot( plot))) { + if (!MainUtil.getTopPlot(plot).equals(MainUtil.getBottomPlot(plot))) { return sendMessage(plr, C.UNLINK_REQUIRED); } if (((plot == null) || !plot.hasOwner() || !plot.getOwner().equals(UUIDHandler.getUUID(plr))) && !Permissions.hasPermission(plr, "plots.admin.command.clear")) { @@ -75,7 +75,7 @@ public class Clear extends SubCommand { } assert plot != null; final long start = System.currentTimeMillis(); - boolean result = MainUtil.clearAsPlayer(plot, false, new Runnable() { + final boolean result = MainUtil.clearAsPlayer(plot, false, new Runnable() { @Override public void run() { MainUtil.sendMessage(plr, C.CLEARING_DONE, "" + (System.currentTimeMillis() - start)); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Cluster.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Cluster.java index a52b5a10e..89a5ee654 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Cluster.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Cluster.java @@ -45,7 +45,7 @@ public class Cluster extends SubCommand { public Cluster() { super(Command.CLUSTER, "Manage a plot cluster", "cluster", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { // list, create, delete, resize, invite, kick, leave, helpers, tp, sethome @@ -307,7 +307,7 @@ public class Cluster extends SubCommand { cluster.invited.add(uuid); final String world = plr.getLocation().getWorld(); DBFunc.setInvited(world, cluster, uuid); - PlotPlayer player = UUIDHandler.getPlayer(uuid); + final PlotPlayer player = UUIDHandler.getPlayer(uuid); if (player != null) { MainUtil.sendMessage(player, C.CLUSTER_INVITED, cluster.getName()); } @@ -354,7 +354,7 @@ public class Cluster extends SubCommand { } cluster.invited.remove(uuid); DBFunc.removeInvited(cluster, uuid); - PlotPlayer player = UUIDHandler.getPlayer(uuid); + final PlotPlayer player = UUIDHandler.getPlayer(uuid); if (player != null) { MainUtil.sendMessage(player, C.CLUSTER_REMOVED, cluster.getName()); } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Command.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Command.java index 5ed37a89b..3437e54ed 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Command.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Command.java @@ -87,7 +87,7 @@ public enum Command { * Permission Node */ private final CommandPermission permission; - + /** * @param command Command "name" (/plot [cmd]) */ @@ -96,7 +96,7 @@ public enum Command { this.alias = command; this.permission = new CommandPermission("plots." + command); } - + /** * @param command Command "name" (/plot [cmd]) * @param permission Command Permission Node @@ -106,7 +106,7 @@ public enum Command { this.permission = permission; this.alias = command; } - + /** * @param command Command "name" (/plot [cmd]) * @param alias Command Alias @@ -116,7 +116,7 @@ public enum Command { this.alias = alias; this.permission = new CommandPermission("plots." + command); } - + /** * @param command Command "name" (/plot [cmd]) * @param alias Command Alias @@ -127,21 +127,21 @@ public enum Command { this.alias = alias; this.permission = permission; } - + /** * @return command */ public String getCommand() { return this.command; } - + /** * @return alias */ public String getAlias() { return this.alias; } - + /** * @return permission object * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/CommandPermission.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/CommandPermission.java index 5bc566019..32f1901cf 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/CommandPermission.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/CommandPermission.java @@ -33,14 +33,14 @@ public class CommandPermission { * Permission Node */ public final String permission; - + /** * @param permission Command Permission */ public CommandPermission(final String permission) { this.permission = permission.toLowerCase(); } - + /** * @param player Does the player have the permission? * diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Comment.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Comment.java index fb87864d3..80c96a598 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Comment.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Comment.java @@ -38,11 +38,11 @@ public class Comment extends SubCommand { public Comment() { super(Command.COMMENT, "Comment on a plot", "comment", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { - Location loc = plr.getLocation(); - Plot plot = MainUtil.getPlot(loc); + final Location loc = plr.getLocation(); + final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return sendMessage(plr, C.NOT_IN_PLOT); } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Condense.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Condense.java index eb47b126f..5312d57e1 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Condense.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Condense.java @@ -38,11 +38,11 @@ import com.intellectualcrafters.plot.util.MainUtil; public class Condense extends SubCommand { public static boolean TASK = false; - + public Condense() { super("condense", "plots.admin", "Condense a plotworld", "condense", "", CommandCategory.DEBUG, false); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (plr != null) { @@ -185,7 +185,7 @@ public class Condense extends SubCommand { MainUtil.sendMessage(plr, "/plot condense " + worldname + " [radius]"); return false; } - + public Set getPlots(final Collection plots, final int radius) { final HashSet outside = new HashSet<>(); for (final Plot plot : plots) { @@ -195,7 +195,7 @@ public class Condense extends SubCommand { } return outside; } - + public static void sendMessage(final String message) { PlotSquared.log("&3PlotSquared -> Plot condense&8: &7" + message); } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/CreateRoadSchematic.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/CreateRoadSchematic.java index 3818d7dbe..acc0b0fff 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/CreateRoadSchematic.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/CreateRoadSchematic.java @@ -33,11 +33,11 @@ public class CreateRoadSchematic extends SubCommand { public CreateRoadSchematic() { super(Command.CREATEROADSCHEMATIC, "Add a road schematic to your world using the road around your current plot", "crs", CommandCategory.DEBUG, true); } - + @Override public boolean execute(final PlotPlayer player, final String... args) { - Location loc = player.getLocation(); - Plot plot = MainUtil.getPlot(loc); + final Location loc = player.getLocation(); + final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return sendMessage(player, C.NOT_IN_PLOT); } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Database.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Database.java index 5f0300bcb..42a671435 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Database.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Database.java @@ -24,11 +24,11 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; */ public class Database extends SubCommand { final String[] tables = new String[] { "plot_trusted", "plot_ratings", "plot_comments" }; - + public Database() { super(Command.DATABASE, "Convert/Backup Storage", "database [type] [...details]", CommandCategory.DEBUG, false); } - + private static boolean sendMessageU(final UUID uuid, final String msg) { if (uuid == null) { PlotSquared.log(msg); @@ -42,7 +42,7 @@ public class Database extends SubCommand { } return true; } - + public static void insertPlots(final SQLManager manager, final UUID requester, final Connection c) { final java.util.Set plots = PlotSquared.getPlots(); TaskManager.runTaskAsync(new Runnable() { @@ -68,7 +68,7 @@ public class Database extends SubCommand { } }); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (args.length < 1) { @@ -135,7 +135,7 @@ public class Database extends SubCommand { } return false; } - + private boolean sendMessage(final PlotPlayer player, final String msg) { if (player == null) { PlotSquared.log(msg); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Debug.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Debug.java index 8c9ed5e36..a443c7473 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Debug.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Debug.java @@ -31,7 +31,7 @@ public class Debug extends SubCommand { public Debug() { super(Command.DEBUG, "Show debug information", "debug [msg]", CommandCategory.DEBUG, false); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if ((args.length > 0) && args[0].equalsIgnoreCase("msg")) { @@ -55,9 +55,6 @@ public class Debug extends SubCommand { for (final String world : PlotSquared.getPlotWorlds()) { worlds.append(world).append(" "); } - - // FIXME not sure if we actually need any of this debug info as we should just do a timings report which is more detailed anyway - information.append(header); information.append(getSection(section, "Lag / TPS")); information.append(getLine(line, "Ticks Per Second", Lag.getTPS())); @@ -78,11 +75,11 @@ public class Debug extends SubCommand { } return true; } - + private String getSection(final String line, final String val) { return line.replaceAll("%val%", val) + "\n"; } - + private String getLine(final String line, final String var, final Object val) { return line.replaceAll("%var%", var).replaceAll("%val%", "" + val) + "\n"; } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugClaimTest.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugClaimTest.java index 387f53702..76b92e195 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugClaimTest.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugClaimTest.java @@ -35,8 +35,9 @@ import com.intellectualcrafters.plot.object.PlotManager; import com.intellectualcrafters.plot.object.PlotPlayer; import com.intellectualcrafters.plot.object.PlotWorld; import com.intellectualcrafters.plot.object.StringWrapper; -import com.intellectualcrafters.plot.util.AChunkManager; import com.intellectualcrafters.plot.util.BlockManager; +import com.intellectualcrafters.plot.util.ChunkManager; +import com.intellectualcrafters.plot.util.EventUtil; import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; @@ -47,17 +48,14 @@ public class DebugClaimTest extends SubCommand { public DebugClaimTest() { super(Command.DEBUGCLAIMTEST, "If you accidentally delete your database, this command will attempt to restore all plots based on the data from the plot signs. Execution time may vary", "debugclaimtest", CommandCategory.DEBUG, false); } - + public static boolean claimPlot(final PlotPlayer player, final Plot plot, final boolean teleport) { return claimPlot(player, plot, teleport, ""); } - + public static boolean claimPlot(final PlotPlayer player, final Plot plot, final boolean teleport, final String schematic) { - // FIXME call claim event - // boolean result = event result - boolean result = true; - - if (!result) { + final boolean result = EventUtil.manager.callClaim(player, plot, false); + if (result) { MainUtil.createPlot(player.getUUID(), plot); MainUtil.setSign(player.getName(), plot); MainUtil.sendMessage(player, C.CLAIMED); @@ -65,16 +63,16 @@ public class DebugClaimTest extends SubCommand { MainUtil.teleportPlayer(player, player.getLocation(), plot); } } - return result; + return !result; } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (plr == null) { if (args.length < 3) { return !MainUtil.sendMessage(null, "If you accidentally delete your database, this command will attempt to restore all plots based on the data from the plot signs. \n\n&cMissing world arg /plot debugclaimtest {world} {PlotId min} {PlotId max}"); } - String world = args[0]; + final String world = args[0]; if (!BlockManager.manager.isWorld(world) || !PlotSquared.isPlotWorld(world)) { return !MainUtil.sendMessage(null, "&cInvalid plot world!"); } @@ -100,12 +98,12 @@ public class DebugClaimTest extends SubCommand { continue; } final Location loc = manager.getSignLoc(plotworld, plot); - ChunkLoc chunk = new ChunkLoc(loc.getX() >> 4, loc.getZ() >> 4); - boolean result = AChunkManager.manager.loadChunk(world, chunk); + final ChunkLoc chunk = new ChunkLoc(loc.getX() >> 4, loc.getZ() >> 4); + final boolean result = ChunkManager.manager.loadChunk(world, chunk); if (!result) { continue; } - String[] lines = BlockManager.manager.getSign(loc); + final String[] lines = BlockManager.manager.getSign(loc); if (lines != null) { String line = lines[2]; if ((line != null) && (line.length() > 2)) { diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugClear.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugClear.java index a741fb0ad..509106be0 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugClear.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugClear.java @@ -27,16 +27,16 @@ import com.intellectualcrafters.plot.object.Location; import com.intellectualcrafters.plot.object.Plot; import com.intellectualcrafters.plot.object.PlotId; import com.intellectualcrafters.plot.object.PlotPlayer; +import com.intellectualcrafters.plot.util.ChunkManager; import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.Permissions; -import com.intellectualcrafters.plot.util.bukkit.ChunkManager; import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; public class DebugClear extends SubCommand { public DebugClear() { super(Command.DEBUGCLEAR, "Clear a plot using a fast experimental algorithm", "debugclear", CommandCategory.DEBUG, false); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (plr == null) { @@ -77,9 +77,9 @@ public class DebugClear extends SubCommand { } return true; } - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); - if (plot == null || !(PlotSquared.getPlotWorld(loc.getWorld()) instanceof SquarePlotWorld)) { + if ((plot == null) || !(PlotSquared.getPlotWorld(loc.getWorld()) instanceof SquarePlotWorld)) { return sendMessage(plr, C.NOT_IN_PLOT); } if (!MainUtil.getTopPlot(plot).equals(MainUtil.getBottomPlot(plot))) { @@ -92,7 +92,7 @@ public class DebugClear extends SubCommand { final Location pos1 = MainUtil.getPlotBottomLoc(loc.getWorld(), plot.id).add(1, 0, 1); final Location pos2 = MainUtil.getPlotTopLoc(loc.getWorld(), plot.id); if (MainUtil.runners.containsKey(plot)) { - MainUtil.sendMessage(null, C.WAIT_FOR_TIMER); + MainUtil.sendMessage(plr, C.WAIT_FOR_TIMER); return false; } MainUtil.runners.put(plot, 1); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugExec.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugExec.java index 66358b578..57ba394ab 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugExec.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugExec.java @@ -48,7 +48,7 @@ public class DebugExec extends SubCommand { public DebugExec() { super("debugexec", "plots.admin", "Multi-purpose debug command", "debugexec", "exec", CommandCategory.DEBUG, false); } - + @Override public boolean execute(final PlotPlayer player, final String... args) { final List allowed_params = Arrays.asList(new String[] { "stop-expire", "start-expire", "show-expired", "update-expired", "seen", "trim-check" }); @@ -111,8 +111,8 @@ public class DebugExec extends SubCommand { if (uuid == null) { return MainUtil.sendMessage(null, "player not found: " + args[1]); } - BukkitOfflinePlayer op = UUIDHandler.uuidWrapper.getOfflinePlayer(uuid); - if ((op == null) || op.getLastPlayed() == 0) { + final BukkitOfflinePlayer op = UUIDHandler.uuidWrapper.getOfflinePlayer(uuid); + if ((op == null) || (op.getLastPlayed() == 0)) { return MainUtil.sendMessage(null, "player hasn't connected before: " + args[1]); } final Timestamp stamp = new Timestamp(op.getLastPlayed()); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugFixFlags.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugFixFlags.java index d37f12a7d..bb6bbe244 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugFixFlags.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugFixFlags.java @@ -38,7 +38,7 @@ public class DebugFixFlags extends SubCommand { public DebugFixFlags() { super(Command.DEBUGFIXFLAGS, "Attempt to fix all flags for a world", "debugclear", CommandCategory.DEBUG, false); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (plr != null) { diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugLoadTest.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugLoadTest.java index 3edf91893..12b79ecb3 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugLoadTest.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugLoadTest.java @@ -34,7 +34,7 @@ public class DebugLoadTest extends SubCommand { public DebugLoadTest() { super(Command.DEBUGLOADTEST, "This debug command will force the reload of all plots in the DB", "debugloadtest", CommandCategory.DEBUG, false); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (plr == null) { diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugRoadRegen.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugRoadRegen.java index e15ce7ce9..0c8c4ff4d 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugRoadRegen.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugRoadRegen.java @@ -33,16 +33,16 @@ public class DebugRoadRegen extends SubCommand { public DebugRoadRegen() { super(Command.DEBUGROADREGEN, "Regenerate all road schematic in your current chunk", "debugroadregen", CommandCategory.DEBUG, true); } - + @Override public boolean execute(final PlotPlayer player, final String... args) { - Location loc = player.getLocation(); - String world = loc.getWorld(); + final Location loc = player.getLocation(); + final String world = loc.getWorld(); if (!(PlotSquared.getPlotWorld(world) instanceof HybridPlotWorld)) { return sendMessage(player, C.NOT_IN_PLOT_WORLD); } - ChunkLoc chunk = new ChunkLoc(loc.getX() >> 4, loc.getZ() >> 4); - boolean result = HybridUtils.manager.regenerateRoad(world, chunk); + final ChunkLoc chunk = new ChunkLoc(loc.getX() >> 4, loc.getZ() >> 4); + final boolean result = HybridUtils.manager.regenerateRoad(world, chunk); if (result) { MainUtil.update(loc); } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugSaveTest.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugSaveTest.java index 3391feb85..9a2af9c5b 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugSaveTest.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/DebugSaveTest.java @@ -35,7 +35,7 @@ public class DebugSaveTest extends SubCommand { public DebugSaveTest() { super(Command.DEBUGSAVETEST, "This debug command will force the recreation of all plots in the DB", "debugsavetest", CommandCategory.DEBUG, false); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (plr == null) { diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Delete.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Delete.java index ae5772426..68628ef36 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Delete.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Delete.java @@ -36,10 +36,10 @@ public class Delete extends SubCommand { public Delete() { super(Command.DELETE, "Delete a plot", "delete", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return !sendMessage(plr, C.NOT_IN_PLOT); @@ -52,7 +52,7 @@ public class Delete extends SubCommand { } assert plot != null; final PlotWorld pWorld = PlotSquared.getPlotWorld(plot.world); - if (PlotSquared.economy != null && pWorld.USE_ECONOMY && (plot != null) && plot.hasOwner() && plot.getOwner().equals(UUIDHandler.getUUID(plr))) { + if ((PlotSquared.economy != null) && pWorld.USE_ECONOMY && (plot != null) && plot.hasOwner() && plot.getOwner().equals(UUIDHandler.getUUID(plr))) { final double c = pWorld.SELL_PRICE; if (c > 0d) { EconHandler.depositPlayer(plr, c); @@ -66,7 +66,7 @@ public class Delete extends SubCommand { final boolean result = PlotSquared.removePlot(loc.getWorld(), plot.id, true); final long start = System.currentTimeMillis(); if (result) { - boolean result2 = MainUtil.clearAsPlayer(plot, false, new Runnable() { + final boolean result2 = MainUtil.clearAsPlayer(plot, true, new Runnable() { @Override public void run() { MainUtil.sendMessage(plr, C.CLEARING_DONE, "" + (System.currentTimeMillis() - start)); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Denied.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Denied.java index 923b22deb..168b6b8a7 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Denied.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Denied.java @@ -28,6 +28,7 @@ import com.intellectualcrafters.plot.object.Location; import com.intellectualcrafters.plot.object.Plot; import com.intellectualcrafters.plot.object.PlotPlayer; import com.intellectualcrafters.plot.util.BlockManager; +import com.intellectualcrafters.plot.util.EventUtil; import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.Permissions; import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; @@ -36,14 +37,14 @@ public class Denied extends SubCommand { public Denied() { super(Command.DENIED, "Manage plot helpers", "denied {add|remove} {player}", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (args.length < 2) { MainUtil.sendMessage(plr, C.DENIED_NEED_ARGUMENT); return true; } - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return !sendMessage(plr, C.NOT_IN_PLOT); @@ -82,7 +83,7 @@ public class Denied extends SubCommand { } plot.addDenied(uuid); DBFunc.setDenied(loc.getWorld(), plot, uuid); - //FIXME PlayerPlotDeniedEvent + EventUtil.manager.callDenied(plr, plot, uuid, true); } else { MainUtil.sendMessage(plr, C.ALREADY_ADDED); return false; @@ -112,7 +113,7 @@ public class Denied extends SubCommand { final UUID uuid = UUIDHandler.getUUID(args[1]); plot.removeDenied(uuid); DBFunc.removeDenied(loc.getWorld(), plot, uuid); - // FIXME PlayerPlotDeniedEvent + EventUtil.manager.callDenied(plr, plot, uuid, false); MainUtil.sendMessage(plr, C.DENIED_REMOVED); } else { MainUtil.sendMessage(plr, C.DENIED_NEED_ARGUMENT); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/FlagCmd.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/FlagCmd.java index 4c34cbd96..7a6f58fe2 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/FlagCmd.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/FlagCmd.java @@ -43,7 +43,7 @@ public class FlagCmd extends SubCommand { public FlagCmd() { super(Command.FLAG, "Manage plot flags", "f", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer player, final String... args) { /* @@ -57,7 +57,7 @@ public class FlagCmd extends SubCommand { MainUtil.sendMessage(player, C.COMMAND_SYNTAX, "/plot flag "); return false; } - Location loc = player.getLocation(); + final Location loc = player.getLocation(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { MainUtil.sendMessage(player, C.NOT_IN_PLOT); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Help.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Help.java index 978afa09b..0f4f72f9e 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Help.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Help.java @@ -13,7 +13,7 @@ public class Help extends SubCommand { public Help() { super("help", "", "Get this help menu", "help", "he", SubCommand.CommandCategory.INFO, false); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { return false; diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Helpers.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Helpers.java index 1640b2e18..3f3b6573c 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Helpers.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Helpers.java @@ -27,6 +27,7 @@ import com.intellectualcrafters.plot.database.DBFunc; import com.intellectualcrafters.plot.object.Location; import com.intellectualcrafters.plot.object.Plot; import com.intellectualcrafters.plot.object.PlotPlayer; +import com.intellectualcrafters.plot.util.EventUtil; import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.Permissions; import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; @@ -35,14 +36,14 @@ public class Helpers extends SubCommand { public Helpers() { super(Command.HELPERS, "Manage plot helpers", "helpers {add|remove} {player}", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (args.length < 2) { MainUtil.sendMessage(plr, C.HELPER_NEED_ARGUMENT); return true; } - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return !sendMessage(plr, C.NOT_IN_PLOT); @@ -81,7 +82,7 @@ public class Helpers extends SubCommand { } plot.addHelper(uuid); DBFunc.setHelper(loc.getWorld(), plot, uuid); - // FIXME PlayerPlotHelperEvent + EventUtil.manager.callHelper(plr, plot, uuid, true); } else { MainUtil.sendMessage(plr, C.ALREADY_ADDED); return false; @@ -103,7 +104,7 @@ public class Helpers extends SubCommand { final UUID uuid = UUIDHandler.getUUID(args[1]); plot.removeHelper(uuid); DBFunc.removeHelper(loc.getWorld(), plot, uuid); - // FIXME PlayerPlotHelperEvent + EventUtil.manager.callHelper(plr, plot, uuid, false); MainUtil.sendMessage(plr, C.HELPER_REMOVED); } else { MainUtil.sendMessage(plr, C.HELPER_NEED_ARGUMENT); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Home.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Home.java index e09b0e419..28c2b6a53 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Home.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Home.java @@ -34,7 +34,7 @@ public class Home extends SubCommand { public Home() { super(Command.HOME, "Go to your plot", "home {id|alias}", CommandCategory.TELEPORT, true); } - + private Plot isAlias(final String a) { for (final Plot p : PlotSquared.getPlots()) { if ((p.settings.getAlias().length() > 0) && p.settings.getAlias().equalsIgnoreCase(a)) { @@ -43,7 +43,7 @@ public class Home extends SubCommand { } return null; } - + @Override public boolean execute(final PlotPlayer plr, String... args) { final Plot[] plots = PlotSquared.getPlots(plr).toArray(new Plot[0]); @@ -83,7 +83,7 @@ public class Home extends SubCommand { return true; } } - + public void teleportPlayer(final PlotPlayer player, final Plot plot) { MainUtil.teleportPlayer(player, player.getLocation(), plot); } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Inbox.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Inbox.java index 77bedefaf..144da8cbb 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Inbox.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Inbox.java @@ -40,7 +40,7 @@ public class Inbox extends SubCommand { public Inbox() { super(Command.INBOX, "Review the comments for a plot", "inbox", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { boolean report = false; @@ -49,9 +49,9 @@ public class Inbox extends SubCommand { report = true; } } - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); - if (plot == null && !report) { + if ((plot == null) && !report) { return !sendMessage(plr, C.NOT_IN_PLOT); } if ((plot != null) && !plot.hasOwner()) { diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Info.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Info.java index a58797282..7e0268e0f 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Info.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Info.java @@ -47,13 +47,13 @@ public class Info extends SubCommand { public Info() { super(Command.INFO, "Display plot info", "info", CommandCategory.INFO, false); } - + @Override public boolean execute(final PlotPlayer player, String... args) { Plot plot; String world; if (player != null) { - Location loc = player.getLocation(); + final Location loc = player.getLocation(); world = loc.getWorld(); if (!PlotSquared.isPlotWorld(world)) { MainUtil.sendMessage(player, C.NOT_IN_PLOT_WORLD); @@ -129,7 +129,7 @@ public class Info extends SubCommand { MainUtil.sendMessage(player, info, false); return true; } - + private String getCaption(final String string) { switch (string) { case "helpers": @@ -156,7 +156,7 @@ public class Info extends SubCommand { return null; } } - + private String format(String info, final String world, final Plot plot, final PlotPlayer player) { final PlotId id = plot.id; final PlotId id2 = MainUtil.getTopPlot(plot).id; @@ -191,7 +191,7 @@ public class Info extends SubCommand { info = info.replaceAll("%desc%", "No description set."); return info; } - + private String getPlayerList(final ArrayList l) { if ((l == null) || (l.size() < 1)) { return " none"; @@ -207,7 +207,7 @@ public class Info extends SubCommand { } return list.toString(); } - + private String getPlayerName(final UUID uuid) { if (uuid == null) { return "unknown"; diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Inventory.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Inventory.java index 785217c9c..da6f47752 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Inventory.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Inventory.java @@ -35,7 +35,7 @@ public class Inventory extends SubCommand { public Inventory() { super("inventory", "plots.inventory", "Open a command inventory", "inventory", "inv", CommandCategory.INFO, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { final ArrayList cmds = new ArrayList<>(); @@ -53,7 +53,7 @@ public class Inventory extends SubCommand { ((BukkitPlayer) plr).player.openInventory(inventory); return true; } - + private ItemStack getItem(final SubCommand cmd) { final ItemStack stack = new ItemStack(Material.COMMAND); final ItemMeta meta = stack.getItemMeta(); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Kick.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Kick.java index 0e5fc4394..0540bf88e 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Kick.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Kick.java @@ -34,10 +34,10 @@ public class Kick extends SubCommand { public Kick() { super(Command.KICK, "Kick a player from your plot", "kick", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return !sendMessage(plr, C.NOT_IN_PLOT); @@ -50,7 +50,7 @@ public class Kick extends SubCommand { MainUtil.sendMessage(plr, "&c/plot kick "); return false; } - PlotPlayer player = UUIDHandler.getPlayer(args[0]); + final PlotPlayer player = UUIDHandler.getPlayer(args[0]); if (player == null) { MainUtil.sendMessage(plr, C.INVALID_PLAYER, args[0]); return false; diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/MainCommand.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/MainCommand.java index a0d12fe46..574038289 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/MainCommand.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/MainCommand.java @@ -40,18 +40,18 @@ public class MainCommand { /** * Main Permission Node */ - private final static SubCommand[] _subCommands = new SubCommand[] { new Setup(), new DebugSaveTest(), new DebugLoadTest(), new CreateRoadSchematic(), new RegenAllRoads(), new DebugClear(), new Claim(), new Auto(), new Home(), new Visit(), new TP(), new Set(), new Clear(), new Delete(), new SetOwner(), new Denied(), new Helpers(), new Trusted(), new Info(), new list(), new Help(), new Debug(), new Schematic(), new plugin(), new Inventory(), new Purge(), new Reload(), new Merge(), new Unlink(), new Kick(), new Rate(), new DebugClaimTest(), new Inbox(), new Comment(), new Database(), new Unclaim(), new Swap(), new MusicSubcommand(), new DebugRoadRegen(), new Trim(), new DebugExec(), new FlagCmd(), new Target(), new DebugFixFlags(), new Move(), new Condense() }; + private final static SubCommand[] _subCommands = new SubCommand[] { new Template(), new Setup(), new DebugSaveTest(), new DebugLoadTest(), new CreateRoadSchematic(), new RegenAllRoads(), new DebugClear(), new Claim(), new Auto(), new Home(), new Visit(), new TP(), new Set(), new Clear(), new Delete(), new SetOwner(), new Denied(), new Helpers(), new Trusted(), new Info(), new list(), new Help(), new Debug(), new SchematicCmd(), new plugin(), new Inventory(), new Purge(), new Reload(), new Merge(), new Unlink(), new Kick(), new Rate(), new DebugClaimTest(), new Inbox(), new Comment(), new Database(), new Unclaim(), new Swap(), new MusicSubcommand(), new DebugRoadRegen(), new Trim(), new DebugExec(), new FlagCmd(), new Target(), new DebugFixFlags(), new Move(), new Condense() }; public final static ArrayList subCommands = new ArrayList() { { addAll(Arrays.asList(_subCommands)); } }; - + public static boolean no_permission(final PlotPlayer player, final String permission) { MainUtil.sendMessage(player, C.NO_PERMISSION, permission); return false; } - + public static List getCommands(final SubCommand.CommandCategory category, final PlotPlayer player) { final List cmds = new ArrayList<>(); for (final SubCommand c : subCommands) { @@ -63,7 +63,7 @@ public class MainCommand { } return cmds; } - + public static List helpMenu(final PlotPlayer player, final SubCommand.CommandCategory category, int page) { List commands; if (category != null) { @@ -99,11 +99,11 @@ public class MainCommand { } return help; } - + private static String t(final String s) { return MainUtil.colorise('&', s); } - + public static boolean onCommand(final PlotPlayer player, final String cmd, final String... args) { if (!Permissions.hasPermission(player, PlotSquared.MAIN_PERMISSION)) { return no_permission(player, PlotSquared.MAIN_PERMISSION); @@ -158,7 +158,7 @@ public class MainCommand { for (final String string : helpMenu(player, cato, page)) { help.append(string).append("\n"); } - player.sendMessage(MainUtil.colorise('&', help.toString())); + MainUtil.sendMessage(player, help.toString()); // return PlayerFunctions.sendMessage(player, help.toString()); } else { for (final SubCommand command : subCommands) { diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Merge.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Merge.java index 8e36e9c69..19c94715e 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Merge.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Merge.java @@ -22,8 +22,6 @@ package com.intellectualcrafters.plot.commands; import java.util.ArrayList; -import net.milkbowl.vault.economy.Economy; - import org.apache.commons.lang.StringUtils; import com.intellectualcrafters.plot.PlotSquared; @@ -34,6 +32,7 @@ import com.intellectualcrafters.plot.object.PlotId; import com.intellectualcrafters.plot.object.PlotPlayer; import com.intellectualcrafters.plot.object.PlotWorld; import com.intellectualcrafters.plot.util.EconHandler; +import com.intellectualcrafters.plot.util.EventUtil; import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.Permissions; import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; @@ -44,11 +43,11 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; public class Merge extends SubCommand { public final static String[] values = new String[] { "north", "east", "south", "west" }; public final static String[] aliases = new String[] { "n", "e", "s", "w" }; - + public Merge() { super(Command.MERGE, "Merge the plot you are standing on with another plot.", "merge", CommandCategory.ACTIONS, true); } - + public static String direction(float yaw) { yaw = yaw / 90; final int i = Math.round(yaw); @@ -70,10 +69,10 @@ public class Merge extends SubCommand { return ""; } } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { - Location loc = plr.getLocation(); + final Location loc = plr.getLocationFull(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return !sendMessage(plr, C.NOT_IN_PLOT); @@ -107,7 +106,7 @@ public class Merge extends SubCommand { PlotId bot = MainUtil.getBottomPlot(plot).id; PlotId top = MainUtil.getTopPlot(plot).id; ArrayList plots; - String world = plr.getLocation().getWorld(); + final String world = plr.getLocation().getWorld(); switch (direction) { case 0: // north = -y plots = MainUtil.getMaxPlotSelectionIds(world, new PlotId(bot.x, bot.y - 1), new PlotId(top.x, top.y)); @@ -141,11 +140,10 @@ public class Merge extends SubCommand { } } final PlotWorld plotWorld = PlotSquared.getPlotWorld(world); - if (PlotSquared.economy != null && plotWorld.USE_ECONOMY) { + if ((PlotSquared.economy != null) && plotWorld.USE_ECONOMY) { double cost = plotWorld.MERGE_PRICE; cost = plots.size() * cost; if (cost > 0d) { - final Economy economy = PlotSquared.economy; if (EconHandler.getBalance(plr) < cost) { sendMessage(plr, C.CANNOT_AFFORD_MERGE, cost + ""); return false; @@ -154,10 +152,8 @@ public class Merge extends SubCommand { sendMessage(plr, C.REMOVED_BALANCE, cost + ""); } } - //FIXME PlotMergeEvent - // boolean result = event.isCancelled(); - boolean result = false; - if (result) { + final boolean result = EventUtil.manager.callMerge(world, plot, plots); + if (!result) { MainUtil.sendMessage(plr, "&cMerge has been cancelled"); return false; } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Move.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Move.java index 7c1267523..b16af7d2b 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Move.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Move.java @@ -33,7 +33,7 @@ public class Move extends SubCommand { public Move() { super("debugmove", "plots.admin", "plot moving debug test", "debugmove", "move", CommandCategory.DEBUG, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (plr == null) { diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/MusicSubcommand.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/MusicSubcommand.java index ced6c571d..665574b2e 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/MusicSubcommand.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/MusicSubcommand.java @@ -39,10 +39,10 @@ public class MusicSubcommand extends SubCommand { public MusicSubcommand() { super("music", "plots.music", "Play music in plot", "music", "mus", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer player, final String... args) { - Location loc = player.getLocation(); + final Location loc = player.getLocation(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return !sendMessage(player, C.NOT_IN_PLOT); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Purge.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Purge.java index a9e1b0b97..b670b528c 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Purge.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Purge.java @@ -40,7 +40,7 @@ public class Purge extends SubCommand { public Purge() { super("purge", "plots.admin", "Purge all plots for a world", "purge", "", CommandCategory.DEBUG, false); } - + public PlotId getId(final String id) { try { final String[] split = id.split(";"); @@ -49,7 +49,7 @@ public class Purge extends SubCommand { return null; } } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (plr != null) { @@ -159,7 +159,7 @@ public class Purge extends SubCommand { MainUtil.sendMessage(plr, C.PURGE_SYNTAX); return false; } - + private boolean finishPurge(final int amount) { MainUtil.sendMessage(null, C.PURGE_SUCCESS, amount + ""); return false; diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Rate.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Rate.java index dfe8c9652..6073c9fae 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Rate.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Rate.java @@ -36,14 +36,14 @@ public class Rate extends SubCommand { public Rate() { super("rate", "plots.rate", "Rate the plot", "rate {0-10}", "rt", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (args.length < 1) { sendMessage(plr, C.RATING_NOT_VALID); return true; } - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return !sendMessage(plr, C.NOT_IN_PLOT); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/RegenAllRoads.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/RegenAllRoads.java index d8d27b0d8..7107f4ada 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/RegenAllRoads.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/RegenAllRoads.java @@ -29,13 +29,13 @@ import com.intellectualcrafters.plot.generator.HybridUtils; import com.intellectualcrafters.plot.object.ChunkLoc; import com.intellectualcrafters.plot.object.PlotManager; import com.intellectualcrafters.plot.object.PlotPlayer; -import com.intellectualcrafters.plot.util.AChunkManager; +import com.intellectualcrafters.plot.util.ChunkManager; public class RegenAllRoads extends SubCommand { public RegenAllRoads() { super(Command.REGENALLROADS, "Regenerate all roads in the map using the set road schematic", "rgar", CommandCategory.DEBUG, false); } - + @Override public boolean execute(final PlotPlayer player, final String... args) { if (player != null) { @@ -52,7 +52,7 @@ public class RegenAllRoads extends SubCommand { sendMessage(player, C.NOT_VALID_PLOT_WORLD); return false; } - final List chunks = AChunkManager.manager.getChunkChunks(name); + final List chunks = ChunkManager.manager.getChunkChunks(name); PlotSquared.log("&cIf no schematic is set, the following will not do anything"); PlotSquared.log("&7 - To set a schematic, stand in a plot and use &c/plot createroadschematic"); PlotSquared.log("&6Potential chunks to update: &7" + (chunks.size() * 1024)); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Reload.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Reload.java index 22ef1b96c..af49dfc59 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Reload.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Reload.java @@ -30,7 +30,7 @@ public class Reload extends SubCommand { public Reload() { super("reload", "plots.admin.command.reload", "Reload configurations", "", "reload", CommandCategory.INFO, false); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { try { diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Schematic.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SchematicCmd.java similarity index 84% rename from PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Schematic.java rename to PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SchematicCmd.java index f692996b5..dc5b00017 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Schematic.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SchematicCmd.java @@ -32,25 +32,27 @@ import com.intellectualcrafters.plot.object.Plot; import com.intellectualcrafters.plot.object.PlotId; import com.intellectualcrafters.plot.object.PlotPlayer; import com.intellectualcrafters.plot.util.BlockManager; +import com.intellectualcrafters.plot.util.SchematicHandler; import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.Permissions; -import com.intellectualcrafters.plot.util.SchematicHandler; import com.intellectualcrafters.plot.util.SchematicHandler.DataCollection; import com.intellectualcrafters.plot.util.SchematicHandler.Dimension; +import com.intellectualcrafters.plot.util.SchematicHandler.Schematic; import com.intellectualcrafters.plot.util.TaskManager; +import com.intellectualcrafters.plot.util.bukkit.BukkitUtil; import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; -public class Schematic extends SubCommand { +public class SchematicCmd extends SubCommand { private int counter = 0; private boolean running = false; private Plot[] plots; private int task; - - public Schematic() { + + public SchematicCmd() { super("schematic", "plots.schematic", "Schematic Command", "schematic {arg}", "sch", CommandCategory.ACTIONS, false); // TODO command to fetch schematic from worldedit directory } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (args.length < 1) { @@ -59,7 +61,7 @@ public class Schematic extends SubCommand { } final String arg = args[0].toLowerCase(); final String file; - final SchematicHandler.Schematic schematic; + final Schematic schematic; switch (arg) { case "paste": { if (plr == null) { @@ -75,8 +77,8 @@ public class Schematic extends SubCommand { break; } final Location loc = plr.getLocation(); - Plot plot = MainUtil.getPlot(loc); - if (plot == null) { + final Plot plot = MainUtil.getPlot(loc); + if (plot == null) { sendMessage(plr, C.NOT_IN_PLOT); break; } @@ -90,10 +92,10 @@ public class Schematic extends SubCommand { TaskManager.runTaskAsync(new Runnable() { @Override public void run() { - final SchematicHandler.Schematic schematic = SchematicHandler.getSchematic(file2); + final Schematic schematic = SchematicHandler.manager.getSchematic(file2); if (schematic == null) { sendMessage(plr, C.SCHEMATIC_INVALID, "non-existent or not in gzip format"); - Schematic.this.running = false; + SchematicCmd.this.running = false; return; } final int x; @@ -104,7 +106,7 @@ public class Schematic extends SubCommand { final int length2 = MainUtil.getPlotWidth(loc.getWorld(), plot2.id); if ((dem.getX() > length2) || (dem.getZ() > length2)) { sendMessage(plr, C.SCHEMATIC_INVALID, String.format("Wrong size (x: %s, z: %d) vs %d ", dem.getX(), dem.getZ(), length2)); - Schematic.this.running = false; + SchematicCmd.this.running = false; return; } if ((dem.getX() != length2) || (dem.getZ() != length2)) { @@ -117,26 +119,34 @@ public class Schematic extends SubCommand { } final DataCollection[] b = schematic.getBlockCollection(); final int sy = BlockManager.manager.getHeighestBlock(bot); - final Location l1 = bot.add(0, sy - 1, 0); final int WIDTH = schematic.getSchematicDimension().getX(); final int LENGTH = schematic.getSchematicDimension().getZ(); + final Location l1; + if (!(schematic.getSchematicDimension().getY() == BukkitUtil.getMaxHeight(loc.getWorld()))) { + l1 = bot.add(0, sy - 1, 0); + } + else { + l1 = bot; + } + final int blen = b.length - 1; - Schematic.this.task = TaskManager.runTaskRepeat(new Runnable() { + SchematicCmd.this.task = TaskManager.runTaskRepeat(new Runnable() { @Override public void run() { boolean result = false; while (!result) { - final int start = Schematic.this.counter * 5000; + final int start = SchematicCmd.this.counter * 5000; if (start > blen) { + SchematicHandler.manager.pasteStates(schematic, plot, 0, 0); sendMessage(plr, C.SCHEMATIC_PASTE_SUCCESS); MainUtil.update(plr.getLocation()); - Schematic.this.running = false; - PlotSquared.TASK.cancelTask(Schematic.this.task); + SchematicCmd.this.running = false; + PlotSquared.TASK.cancelTask(SchematicCmd.this.task); return; } final int end = Math.min(start + 5000, blen); - result = SchematicHandler.pastePart(loc.getWorld(), b, l1, x, z, start, end, WIDTH, LENGTH); - Schematic.this.counter++; + result = SchematicHandler.manager.pastePart(loc.getWorld(), b, l1, x, z, start, end, WIDTH, LENGTH); + SchematicCmd.this.counter++; } } }, 1); @@ -158,12 +168,12 @@ public class Schematic extends SubCommand { break; } file = args[1]; - schematic = SchematicHandler.getSchematic(file); + schematic = SchematicHandler.manager.getSchematic(file); if (schematic == null) { sendMessage(plr, C.SCHEMATIC_INVALID, "non-existent"); break; } - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final int l1 = schematic.getSchematicDimension().getX(); final int l2 = schematic.getSchematicDimension().getZ(); final Plot plot = MainUtil.getPlot(loc); @@ -204,14 +214,14 @@ public class Schematic extends SubCommand { this.task = TaskManager.runTaskRepeat(new Runnable() { @Override public void run() { - if (Schematic.this.counter >= Schematic.this.plots.length) { + if (SchematicCmd.this.counter >= SchematicCmd.this.plots.length) { PlotSquared.log("&3PlotSquared&8->&3Schemaitc&8: &aFinished!"); - Schematic.this.running = false; - PlotSquared.TASK.cancelTask(Schematic.this.task); + SchematicCmd.this.running = false; + PlotSquared.TASK.cancelTask(SchematicCmd.this.task); return; } - final Plot plot = Schematic.this.plots[Schematic.this.counter]; - final CompoundTag sch = SchematicHandler.getCompoundTag(worldname, plot.id); + final Plot plot = SchematicCmd.this.plots[SchematicCmd.this.counter]; + final CompoundTag sch = SchematicHandler.manager.getCompoundTag(worldname, plot.id); final String o = UUIDHandler.getName(plot.owner); final String owner = o == null ? "unknown" : o; if (sch == null) { @@ -221,23 +231,22 @@ public class Schematic extends SubCommand { @Override public void run() { MainUtil.sendMessage(null, "&6ID: " + plot.id); - final boolean result = SchematicHandler.save(sch, Settings.SCHEMATIC_SAVE_PATH + "/" + plot.id.x + ";" + plot.id.y + "," + worldname + "," + owner + ".schematic"); + final boolean result = SchematicHandler.manager.save(sch, Settings.SCHEMATIC_SAVE_PATH + "/" + plot.id.x + ";" + plot.id.y + "," + worldname + "," + owner + ".schematic"); if (!result) { MainUtil.sendMessage(null, "&7 - Failed to save &c" + plot.id); } else { - MainUtil.sendMessage(null, "&7 - &aExport success: " + plot.id); + MainUtil.sendMessage(null, "&7 - &a success: " + plot.id); } } }); } - Schematic.this.counter++; + SchematicCmd.this.counter++; } }, 20); break; } case "export": - case "save": - { + case "save": { if (!Permissions.hasPermission(plr, "plots.schematic.save")) { MainUtil.sendMessage(plr, C.NO_PERMISSION, "plots.schematic.save"); return false; @@ -249,7 +258,7 @@ public class Schematic extends SubCommand { final String world; final Plot p2; if (plr != null) { - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return !sendMessage(plr, C.NOT_IN_PLOT); @@ -286,14 +295,14 @@ public class Schematic extends SubCommand { this.task = TaskManager.runTaskRepeat(new Runnable() { @Override public void run() { - if (Schematic.this.counter >= Schematic.this.plots.length) { + if (SchematicCmd.this.counter >= SchematicCmd.this.plots.length) { PlotSquared.log("&3PlotSquared&8->&3Schemaitc&8: &aFinished!"); - Schematic.this.running = false; - PlotSquared.TASK.cancelTask(Schematic.this.task); + SchematicCmd.this.running = false; + PlotSquared.TASK.cancelTask(SchematicCmd.this.task); return; } - final Plot plot = Schematic.this.plots[Schematic.this.counter]; - final CompoundTag sch = SchematicHandler.getCompoundTag(world, plot.id); + final Plot plot = SchematicCmd.this.plots[SchematicCmd.this.counter]; + final CompoundTag sch = SchematicHandler.manager.getCompoundTag(world, plot.id); final String o = UUIDHandler.getName(plot.owner); final String owner = o == null ? "unknown" : o; if (sch == null) { @@ -303,7 +312,7 @@ public class Schematic extends SubCommand { @Override public void run() { MainUtil.sendMessage(plr, "&6ID: " + plot.id); - final boolean result = SchematicHandler.save(sch, Settings.SCHEMATIC_SAVE_PATH + "/" + plot.id.x + ";" + plot.id.y + "," + world + "," + owner.trim() + ".schematic"); + final boolean result = SchematicHandler.manager.save(sch, Settings.SCHEMATIC_SAVE_PATH + "/" + plot.id.x + ";" + plot.id.y + "," + world + "," + owner.trim() + ".schematic"); if (!result) { MainUtil.sendMessage(plr, "&7 - Failed to save &c" + plot.id); } else { @@ -312,7 +321,7 @@ public class Schematic extends SubCommand { } }); } - Schematic.this.counter++; + SchematicCmd.this.counter++; } }, 60); break; diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Set.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Set.java index 46136d4a4..a522adfe2 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Set.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Set.java @@ -21,6 +21,7 @@ package com.intellectualcrafters.plot.commands; import java.util.Arrays; +import java.util.List; import org.apache.commons.lang.StringUtils; @@ -49,17 +50,17 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; * @author Citymonstret */ public class Set extends SubCommand { - public final static String[] values = new String[] { "biome", "wall", "wall_filling", "floor", "alias", "home", "flag" }; + public final static String[] values = new String[] { "biome", "alias", "home", "flag" }; public final static String[] aliases = new String[] { "b", "w", "wf", "f", "a", "h", "fl" }; - + public Set() { super(Command.SET, "Set a plot value", "set {arg} {value...}", CommandCategory.ACTIONS, true); } - + @SuppressWarnings("deprecation") @Override public boolean execute(final PlotPlayer plr, final String... args) { - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return !sendMessage(plr, C.NOT_IN_PLOT); @@ -73,7 +74,10 @@ public class Set extends SubCommand { return false; } if (args.length < 1) { - MainUtil.sendMessage(plr, C.SUBCOMMAND_SET_OPTIONS_HEADER.s() + getArgumentList(values)); + PlotManager manager = PlotSquared.getPlotManager(loc.getWorld()); + List newValues = Arrays.asList(values);; + newValues.addAll(Arrays.asList(manager.getPlotComponents(PlotSquared.getPlotWorld(loc.getWorld()), plot.id))); + MainUtil.sendMessage(plr, C.SUBCOMMAND_SET_OPTIONS_HEADER.s() + getArgumentList(newValues)); return false; } for (int i = 0; i < aliases.length; i++) { @@ -90,7 +94,7 @@ public class Set extends SubCommand { } if (args[0].equalsIgnoreCase("flag")) { if (args.length < 2) { - String message = StringUtils.join(FlagManager.getFlags(plr), "&c, &6"); + final String message = StringUtils.join(FlagManager.getFlags(plr), "&c, &6"); MainUtil.sendMessage(plr, C.NEED_KEY.s().replaceAll("%values%", message)); return false; } @@ -219,22 +223,23 @@ public class Set extends SubCommand { final String[] components = manager.getPlotComponents(plotworld, plot.id); for (final String component : components) { if (component.equalsIgnoreCase(args[0])) { - if (args.length < 2) { - MainUtil.sendMessage(plr, C.NEED_BLOCK); - return true; - } PlotBlock[] blocks; try { - blocks = (PlotBlock[]) Configuration.BLOCKLIST.parseObject(args[2]); + blocks = (PlotBlock[]) Configuration.BLOCKLIST.parseString(args[1]); } catch (final Exception e) { try { - blocks = new PlotBlock[] { new PlotBlock((short) BlockManager.manager.getBlockIdFromString(args[2]), (byte) 0) }; + if (args.length < 2) { + MainUtil.sendMessage(plr, C.NEED_BLOCK); + return true; + } + blocks = new PlotBlock[] { new PlotBlock((short) BlockManager.manager.getBlockIdFromString(args[1]), (byte) 0) }; } catch (final Exception e2) { MainUtil.sendMessage(plr, C.NOT_VALID_BLOCK); return false; } } manager.setComponent(plotworld, plot.id, component, blocks); + MainUtil.update(loc); MainUtil.sendMessage(plr, C.GENERATING_COMPONENT); return true; } @@ -257,22 +262,24 @@ public class Set extends SubCommand { return true; } } - MainUtil.sendMessage(plr, C.SUBCOMMAND_SET_OPTIONS_HEADER.s() + getArgumentList(values)); + List newValues = Arrays.asList(values);; + newValues.addAll(Arrays.asList(manager.getPlotComponents(plotworld, plot.id))); + MainUtil.sendMessage(plr, C.SUBCOMMAND_SET_OPTIONS_HEADER.s() + getArgumentList(newValues)); return false; } - + private String getString(final String s) { return MainUtil.colorise('&', C.BLOCK_LIST_ITEM.s().replaceAll("%mat%", s)); } - - private String getArgumentList(final String[] strings) { + + private String getArgumentList(final List newValues) { final StringBuilder builder = new StringBuilder(); - for (final String s : strings) { + for (final String s : newValues) { builder.append(getString(s)); } return builder.toString().substring(1, builder.toString().length() - 1); } - + private String getBiomeList(final String[] biomes) { final StringBuilder builder = new StringBuilder(); builder.append(MainUtil.colorise('&', C.NOT_VALID_BLOCK_LIST_HEADER.s())); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SetOwner.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SetOwner.java index 41d048662..2c8449666 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SetOwner.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SetOwner.java @@ -38,7 +38,7 @@ public class SetOwner extends SubCommand { public SetOwner() { super("setowner", "plots.set.owner", "Set the plot owner", "setowner {player}", "so", CommandCategory.ACTIONS, true); } - + /* * private UUID getUUID(String string) { OfflinePlayer player = * Bukkit.getOfflinePlayer(string); return ((player != null) && @@ -47,10 +47,10 @@ public class SetOwner extends SubCommand { private UUID getUUID(final String string) { return UUIDHandler.getUUID(string); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); if ((plot == null) || (plot.owner == null)) { MainUtil.sendMessage(plr, C.NOT_IN_PLOT); @@ -66,7 +66,7 @@ public class SetOwner extends SubCommand { } final String world = loc.getWorld(); final PlotId bot = MainUtil.getBottomPlot(plot).id; - final PlotId top = MainUtil.getTopPlot( plot).id; + final PlotId top = MainUtil.getTopPlot(plot).id; final ArrayList plots = MainUtil.getPlotSelectionIds(bot, top); for (final PlotId id : plots) { final Plot current = PlotSquared.getPlots(world).get(id); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Setup.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Setup.java index b0e9649a6..d93203c31 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Setup.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Setup.java @@ -22,6 +22,7 @@ package com.intellectualcrafters.plot.commands; import java.util.Arrays; import java.util.List; + import org.apache.commons.lang.StringUtils; import com.intellectualcrafters.plot.config.C; @@ -37,7 +38,7 @@ public class Setup extends SubCommand { public Setup() { super("setup", "plots.admin.command.setup", "Plotworld setup command", "setup", "create", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { // going through setup @@ -179,5 +180,4 @@ public class Setup extends SubCommand { return false; } - } diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SubCommand.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SubCommand.java index f5ca65fe3..ace7d182f 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SubCommand.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/SubCommand.java @@ -62,7 +62,7 @@ public abstract class SubCommand { * Is this a player-online command? */ public final boolean isPlayer; - + /** * @param cmd Command /plot {cmd} <-- That! * @param permission Permission Node @@ -81,7 +81,7 @@ public abstract class SubCommand { this.category = category; this.isPlayer = isPlayer; } - + /** * @param cmd Command /plot {cmd} <-- That! * @param permission Permission Node @@ -100,7 +100,7 @@ public abstract class SubCommand { this.category = category; this.isPlayer = isPlayer; } - + /** * @param command Command /plot {cmd} <-- That! * @param description Simple description @@ -117,7 +117,7 @@ public abstract class SubCommand { this.category = category; this.isPlayer = isPlayer; } - + /** * Execute. * @@ -127,7 +127,7 @@ public abstract class SubCommand { * @return true on success, false on failure */ public abstract boolean execute(final PlotPlayer plr, final String... args); - + /** * Execute the command as console * @@ -136,7 +136,7 @@ public abstract class SubCommand { public void executeConsole(final String... args) { this.execute(null, args); } - + /** * Send a message * @@ -151,7 +151,7 @@ public abstract class SubCommand { MainUtil.sendMessage(plr, c, args); return true; } - + /** * CommandCategory * @@ -193,7 +193,7 @@ public abstract class SubCommand { * The category name (Readable) */ private final String name; - + /** * Constructor * @@ -202,7 +202,7 @@ public abstract class SubCommand { CommandCategory(final String name) { this.name = name; } - + @Override public String toString() { return this.name; diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Swap.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Swap.java index 89629f7ac..acac040e7 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Swap.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Swap.java @@ -27,7 +27,7 @@ import com.intellectualcrafters.plot.object.Location; import com.intellectualcrafters.plot.object.Plot; import com.intellectualcrafters.plot.object.PlotId; import com.intellectualcrafters.plot.object.PlotPlayer; -import com.intellectualcrafters.plot.util.AChunkManager; +import com.intellectualcrafters.plot.util.ChunkManager; import com.intellectualcrafters.plot.util.MainUtil; import com.intellectualcrafters.plot.util.Permissions; import com.intellectualcrafters.plot.util.bukkit.UUIDHandler; @@ -41,7 +41,7 @@ public class Swap extends SubCommand { public Swap() { super(Command.SWAP, "Swap two plots", "switch", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (args.length < 1) { @@ -49,7 +49,7 @@ public class Swap extends SubCommand { MainUtil.sendMessage(plr, C.SWAP_SYNTAX); return false; } - Location loc = plr.getLocation(); + final Location loc = plr.getLocation(); final Plot plot = MainUtil.getPlot(loc); if (plot == null) { return !sendMessage(plr, C.NOT_IN_PLOT); @@ -83,7 +83,7 @@ public class Swap extends SubCommand { MainUtil.sendMessage(plr, C.SWAP_SYNTAX); return false; } - AChunkManager.manager.swap(world, plot.id, plotid); + ChunkManager.manager.swap(world, plot.id, plotid); // FIXME Requires testing!! DBFunc.dbManager.swapPlots(plot, MainUtil.getPlot(world, plotid)); MainUtil.sendMessage(plr, C.SWAP_SUCCESS); diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/TP.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/TP.java index 4763f14d1..ba0b9a4d8 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/TP.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/TP.java @@ -39,7 +39,7 @@ public class TP extends SubCommand { public TP() { super(Command.TP, "Teleport to a plot", "tp {alias|id}", CommandCategory.TELEPORT, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { if (args.length < 1) { @@ -48,8 +48,8 @@ public class TP extends SubCommand { } final String id = args[0]; PlotId plotid; - Location loc = plr.getLocation(); - String pworld = loc.getWorld(); + final Location loc = plr.getLocation(); + final String pworld = loc.getWorld(); String world = pworld; if (args.length == 2) { if (BlockManager.manager.isWorld(args[1])) { @@ -74,7 +74,7 @@ public class TP extends SubCommand { } return false; } - + private Plot isAlias(final String world, String a) { int index = 0; if (a.contains(";")) { diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Target.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Target.java index b037251b4..99eb8269d 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Target.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Target.java @@ -31,10 +31,10 @@ public class Target extends SubCommand { public Target() { super(Command.TARGET, "Target a plot with your compass", "target ", CommandCategory.ACTIONS, true); } - + @Override public boolean execute(final PlotPlayer plr, final String... args) { - Location ploc = plr.getLocation(); + final Location ploc = plr.getLocation(); if (!PlotSquared.isPlotWorld(ploc.getWorld())) { MainUtil.sendMessage(plr, C.NOT_IN_PLOT_WORLD); return false; diff --git a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Template.java b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Template.java index 0f18ea275..b9ba04316 100644 --- a/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Template.java +++ b/PlotSquared/src/main/java/com/intellectualcrafters/plot/commands/Template.java @@ -20,64 +20,169 @@ //////////////////////////////////////////////////////////////////////////////////////////////////// package com.intellectualcrafters.plot.commands; +import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; -import java.util.zip.GZIPOutputStream; +import java.util.Set; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; +import java.util.zip.ZipOutputStream; + +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.configuration.file.YamlConfiguration; import com.intellectualcrafters.plot.PlotSquared; import com.intellectualcrafters.plot.config.C; +import com.intellectualcrafters.plot.config.ConfigurationNode; +import com.intellectualcrafters.plot.object.FileBytes; +import com.intellectualcrafters.plot.object.PlotManager; import com.intellectualcrafters.plot.object.PlotPlayer; import com.intellectualcrafters.plot.object.PlotWorld; +import com.intellectualcrafters.plot.object.SetupObject; import com.intellectualcrafters.plot.util.BlockManager; import com.intellectualcrafters.plot.util.MainUtil; +import com.intellectualcrafters.plot.util.SetupUtils; +import com.intellectualcrafters.plot.util.TaskManager; public class Template extends SubCommand { public Template() { - super("template", "plots.admin", "Create or use a world template", "template", "", CommandCategory.DEBUG, true); + super("template", "plots.admin", "Create or use a world template", "template", "", CommandCategory.DEBUG, false); } @Override public boolean execute(final PlotPlayer plr, final String... args) { - if (args.length != 2) { - MainUtil.sendMessage(plr, C.COMMAND_SYNTAX, "/plot template "); - return false; - } - String world = args[1]; - final PlotWorld plotworld = PlotSquared.getPlotWorld(world); - if (!BlockManager.manager.isWorld(world) || (plotworld == null)) { - MainUtil.sendMessage(plr, C.NOT_VALID_PLOT_WORLD); + if (args.length != 2 && args.length != 3) { + MainUtil.sendMessage(plr, C.COMMAND_SYNTAX, "/plot template [template]"); return false; } + final String world = args[1]; switch (args[0].toLowerCase()) { case "import": { - // TODO import template - MainUtil.sendMessage(plr, "TODO"); + if (args.length != 3) { + MainUtil.sendMessage(plr, C.COMMAND_SYNTAX, "/plot template import