mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-30 00:56:45 +01:00
cleanup
This commit is contained in:
parent
dea6e84407
commit
0d382ac9c3
@ -4,7 +4,6 @@ package com.intellectualcrafters.jnbt;
|
||||
* The {@code TAG_Byte_Array} tag.
|
||||
*/
|
||||
public final class ByteArrayTag extends Tag {
|
||||
|
||||
private final byte[] value;
|
||||
|
||||
/**
|
||||
@ -50,5 +49,4 @@ public final class ByteArrayTag extends Tag {
|
||||
}
|
||||
return "TAG_Byte_Array" + append + ": " + hex;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ package com.intellectualcrafters.jnbt;
|
||||
* The {@code TAG_Byte} tag.
|
||||
*/
|
||||
public final class ByteTag extends Tag {
|
||||
|
||||
private final byte value;
|
||||
|
||||
/**
|
||||
@ -42,5 +41,4 @@ public final class ByteTag extends Tag {
|
||||
}
|
||||
return "TAG_Byte" + append + ": " + this.value;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -9,7 +9,6 @@ import java.util.Map;
|
||||
* The {@code TAG_Compound} tag.
|
||||
*/
|
||||
public final class CompoundTag extends Tag {
|
||||
|
||||
private final Map<String, Tag> value;
|
||||
|
||||
/**
|
||||
@ -132,22 +131,16 @@ public final class CompoundTag extends Tag {
|
||||
final Tag tag = this.value.get(key);
|
||||
if (tag instanceof ByteTag) {
|
||||
return ((ByteTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof ShortTag) {
|
||||
return ((ShortTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof IntTag) {
|
||||
return ((IntTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof LongTag) {
|
||||
return ((LongTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof FloatTag) {
|
||||
return ((FloatTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof DoubleTag) {
|
||||
return ((DoubleTag) tag).getValue();
|
||||
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
@ -216,22 +209,16 @@ public final class CompoundTag extends Tag {
|
||||
final Tag tag = this.value.get(key);
|
||||
if (tag instanceof ByteTag) {
|
||||
return ((ByteTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof ShortTag) {
|
||||
return ((ShortTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof IntTag) {
|
||||
return ((IntTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof LongTag) {
|
||||
return ((LongTag) tag).getValue().intValue();
|
||||
|
||||
} else if (tag instanceof FloatTag) {
|
||||
return ((FloatTag) tag).getValue().intValue();
|
||||
|
||||
} else if (tag instanceof DoubleTag) {
|
||||
return ((DoubleTag) tag).getValue().intValue();
|
||||
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
@ -267,7 +254,7 @@ public final class CompoundTag extends Tag {
|
||||
if (tag instanceof ListTag) {
|
||||
return (ListTag) tag;
|
||||
} else {
|
||||
return new ListTag(key, StringTag.class, Collections.<Tag>emptyList());
|
||||
return new ListTag(key, StringTag.class, Collections.<Tag> emptyList());
|
||||
}
|
||||
}
|
||||
|
||||
@ -326,22 +313,16 @@ public final class CompoundTag extends Tag {
|
||||
final Tag tag = this.value.get(key);
|
||||
if (tag instanceof ByteTag) {
|
||||
return ((ByteTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof ShortTag) {
|
||||
return ((ShortTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof IntTag) {
|
||||
return ((IntTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof LongTag) {
|
||||
return ((LongTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof FloatTag) {
|
||||
return ((FloatTag) tag).getValue().longValue();
|
||||
|
||||
} else if (tag instanceof DoubleTag) {
|
||||
return ((DoubleTag) tag).getValue().longValue();
|
||||
|
||||
} else {
|
||||
return 0L;
|
||||
}
|
||||
@ -396,5 +377,4 @@ public final class CompoundTag extends Tag {
|
||||
bldr.append("}");
|
||||
return bldr.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -9,7 +9,6 @@ import java.util.Map;
|
||||
* Helps create compound tags.
|
||||
*/
|
||||
public class CompoundTagBuilder {
|
||||
|
||||
private final Map<String, Tag> entries;
|
||||
|
||||
/**
|
||||
@ -195,5 +194,4 @@ public class CompoundTagBuilder {
|
||||
public CompoundTag build(final String name) {
|
||||
return new CompoundTag(name, new HashMap<String, Tag>(this.entries));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ package com.intellectualcrafters.jnbt;
|
||||
* The {@code TAG_Double} tag.
|
||||
*/
|
||||
public final class DoubleTag extends Tag {
|
||||
|
||||
private final double value;
|
||||
|
||||
/**
|
||||
@ -42,5 +41,4 @@ public final class DoubleTag extends Tag {
|
||||
}
|
||||
return "TAG_Double" + append + ": " + this.value;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ package com.intellectualcrafters.jnbt;
|
||||
* The {@code TAG_End} tag.
|
||||
*/
|
||||
public final class EndTag extends Tag {
|
||||
|
||||
/**
|
||||
* Creates the tag.
|
||||
*/
|
||||
@ -21,5 +20,4 @@ public final class EndTag extends Tag {
|
||||
public String toString() {
|
||||
return "TAG_End";
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ package com.intellectualcrafters.jnbt;
|
||||
* The {@code TAG_Float} tag.
|
||||
*/
|
||||
public final class FloatTag extends Tag {
|
||||
|
||||
private final float value;
|
||||
|
||||
/**
|
||||
@ -42,5 +41,4 @@ public final class FloatTag extends Tag {
|
||||
}
|
||||
return "TAG_Float" + append + ": " + this.value;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
* The {@code TAG_Int_Array} tag.
|
||||
*/
|
||||
public final class IntArrayTag extends Tag {
|
||||
|
||||
private final int[] value;
|
||||
|
||||
/**
|
||||
@ -54,5 +53,4 @@ public final class IntArrayTag extends Tag {
|
||||
}
|
||||
return "TAG_Int_Array" + append + ": " + hex;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ package com.intellectualcrafters.jnbt;
|
||||
* The {@code TAG_Int} tag.
|
||||
*/
|
||||
public final class IntTag extends Tag {
|
||||
|
||||
private final int value;
|
||||
|
||||
/**
|
||||
@ -42,5 +41,4 @@ public final class IntTag extends Tag {
|
||||
}
|
||||
return "TAG_Int" + append + ": " + this.value;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -12,7 +12,6 @@ import javax.annotation.Nullable;
|
||||
* The {@code TAG_List} tag.
|
||||
*/
|
||||
public final class ListTag extends Tag {
|
||||
|
||||
private final Class<? extends Tag> type;
|
||||
private final List<Tag> value;
|
||||
|
||||
@ -147,22 +146,16 @@ public final class ListTag extends Tag {
|
||||
final Tag tag = getIfExists(index);
|
||||
if (tag instanceof ByteTag) {
|
||||
return ((ByteTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof ShortTag) {
|
||||
return ((ShortTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof IntTag) {
|
||||
return ((IntTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof LongTag) {
|
||||
return ((LongTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof FloatTag) {
|
||||
return ((FloatTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof DoubleTag) {
|
||||
return ((DoubleTag) tag).getValue();
|
||||
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
@ -231,22 +224,16 @@ public final class ListTag extends Tag {
|
||||
final Tag tag = getIfExists(index);
|
||||
if (tag instanceof ByteTag) {
|
||||
return ((ByteTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof ShortTag) {
|
||||
return ((ShortTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof IntTag) {
|
||||
return ((IntTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof LongTag) {
|
||||
return ((LongTag) tag).getValue().intValue();
|
||||
|
||||
} else if (tag instanceof FloatTag) {
|
||||
return ((FloatTag) tag).getValue().intValue();
|
||||
|
||||
} else if (tag instanceof DoubleTag) {
|
||||
return ((DoubleTag) tag).getValue().intValue();
|
||||
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
@ -282,7 +269,7 @@ public final class ListTag extends Tag {
|
||||
if (tag instanceof ListTag) {
|
||||
return (ListTag) tag;
|
||||
} else {
|
||||
return new ListTag(StringTag.class, Collections.<Tag>emptyList());
|
||||
return new ListTag(StringTag.class, Collections.<Tag> emptyList());
|
||||
}
|
||||
}
|
||||
|
||||
@ -341,22 +328,16 @@ public final class ListTag extends Tag {
|
||||
final Tag tag = getIfExists(index);
|
||||
if (tag instanceof ByteTag) {
|
||||
return ((ByteTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof ShortTag) {
|
||||
return ((ShortTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof IntTag) {
|
||||
return ((IntTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof LongTag) {
|
||||
return ((LongTag) tag).getValue();
|
||||
|
||||
} else if (tag instanceof FloatTag) {
|
||||
return ((FloatTag) tag).getValue().longValue();
|
||||
|
||||
} else if (tag instanceof DoubleTag) {
|
||||
return ((DoubleTag) tag).getValue().longValue();
|
||||
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
@ -411,5 +392,4 @@ public final class ListTag extends Tag {
|
||||
bldr.append("}");
|
||||
return bldr.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -11,7 +11,6 @@ import java.util.List;
|
||||
* Helps create list tags.
|
||||
*/
|
||||
public class ListTagBuilder {
|
||||
|
||||
private final Class<? extends Tag> type;
|
||||
private final List<Tag> entries;
|
||||
|
||||
@ -43,18 +42,15 @@ public class ListTagBuilder {
|
||||
@SafeVarargs
|
||||
public static <T extends Tag> ListTagBuilder createWith(final T... entries) {
|
||||
checkNotNull(entries);
|
||||
|
||||
if (entries.length == 0) {
|
||||
throw new IllegalArgumentException("This method needs an array of at least one entry");
|
||||
}
|
||||
|
||||
final Class<? extends Tag> type = entries[0].getClass();
|
||||
for (int i = 1; i < entries.length; i++) {
|
||||
if (!type.isInstance(entries[i])) {
|
||||
throw new IllegalArgumentException("An array of different tag types was provided");
|
||||
}
|
||||
}
|
||||
|
||||
final ListTagBuilder builder = new ListTagBuilder(type);
|
||||
builder.addAll(Arrays.asList(entries));
|
||||
return builder;
|
||||
@ -110,5 +106,4 @@ public class ListTagBuilder {
|
||||
public ListTag build(final String name) {
|
||||
return new ListTag(name, this.type, new ArrayList<Tag>(this.entries));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ package com.intellectualcrafters.jnbt;
|
||||
* The {@code TAG_Long} tag.
|
||||
*/
|
||||
public final class LongTag extends Tag {
|
||||
|
||||
private final long value;
|
||||
|
||||
/**
|
||||
@ -42,5 +41,4 @@ public final class LongTag extends Tag {
|
||||
}
|
||||
return "TAG_Long" + append + ": " + this.value;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.jnbt;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
@ -27,16 +26,13 @@ import java.nio.charset.Charset;
|
||||
* A class which holds constant values.
|
||||
*/
|
||||
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() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -78,5 +74,4 @@ public final class NBTConstants {
|
||||
throw new IllegalArgumentException("Unknown tag type ID of " + id);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,7 +15,6 @@ import java.util.Map;
|
||||
* may be found at <a href="http://www.minecraft.net/docs/NBT.txt"> http://www.minecraft.net/docs/NBT.txt</a>. </p>
|
||||
*/
|
||||
public final class NBTInputStream implements Closeable {
|
||||
|
||||
private final DataInputStream is;
|
||||
|
||||
/**
|
||||
@ -51,7 +50,6 @@ public final class NBTInputStream implements Closeable {
|
||||
*/
|
||||
private Tag readTag(final int depth) throws IOException {
|
||||
final int type = this.is.readByte() & 0xFF;
|
||||
|
||||
String name;
|
||||
if (type != NBTConstants.TYPE_END) {
|
||||
final int nameLength = this.is.readShort() & 0xFFFF;
|
||||
@ -61,7 +59,6 @@ public final class NBTInputStream implements Closeable {
|
||||
} else {
|
||||
name = "";
|
||||
}
|
||||
|
||||
return readTagPayload(type, name, depth);
|
||||
}
|
||||
|
||||
@ -109,7 +106,6 @@ public final class NBTInputStream implements Closeable {
|
||||
case NBTConstants.TYPE_LIST:
|
||||
final int childType = this.is.readByte();
|
||||
length = this.is.readInt();
|
||||
|
||||
final List<Tag> tagList = new ArrayList<Tag>();
|
||||
for (int i = 0; i < length; ++i) {
|
||||
final Tag tag = readTagPayload(childType, "", depth + 1);
|
||||
@ -118,7 +114,6 @@ public final class NBTInputStream implements Closeable {
|
||||
}
|
||||
tagList.add(tag);
|
||||
}
|
||||
|
||||
return new ListTag(name, NBTUtils.getTypeClass(childType), tagList);
|
||||
case NBTConstants.TYPE_COMPOUND:
|
||||
final Map<String, Tag> tagMap = new HashMap<String, Tag>();
|
||||
@ -130,7 +125,6 @@ public final class NBTInputStream implements Closeable {
|
||||
tagMap.put(tag.getName(), tag);
|
||||
}
|
||||
}
|
||||
|
||||
return new CompoundTag(name, tagMap);
|
||||
case NBTConstants.TYPE_INT_ARRAY:
|
||||
length = this.is.readInt();
|
||||
@ -148,5 +142,4 @@ public final class NBTInputStream implements Closeable {
|
||||
public void close() throws IOException {
|
||||
this.is.close();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.jnbt;
|
||||
|
||||
import java.io.Closeable;
|
||||
@ -36,7 +35,6 @@ import java.util.List;
|
||||
* @author Graham Edgecombe
|
||||
*/
|
||||
public final class NBTOutputStream implements Closeable {
|
||||
|
||||
/**
|
||||
* The output stream.
|
||||
*/
|
||||
@ -64,15 +62,12 @@ public final class NBTOutputStream implements Closeable {
|
||||
final int type = NBTUtils.getTypeCode(tag.getClass());
|
||||
final String name = tag.getName();
|
||||
final byte[] nameBytes = name.getBytes(NBTConstants.CHARSET);
|
||||
|
||||
this.os.writeByte(type);
|
||||
this.os.writeShort(nameBytes.length);
|
||||
this.os.write(nameBytes);
|
||||
|
||||
if (type == NBTConstants.TYPE_END) {
|
||||
throw new IOException("Named TAG_End not permitted.");
|
||||
}
|
||||
|
||||
writeTagPayload(tag);
|
||||
}
|
||||
|
||||
@ -176,7 +171,6 @@ public final class NBTOutputStream implements Closeable {
|
||||
final Class<? extends Tag> clazz = tag.getType();
|
||||
final List<Tag> tags = tag.getValue();
|
||||
final int size = tags.size();
|
||||
|
||||
this.os.writeByte(NBTUtils.getTypeCode(clazz));
|
||||
this.os.writeInt(size);
|
||||
for (final Tag tag1 : tags) {
|
||||
@ -275,5 +269,4 @@ public final class NBTOutputStream implements Closeable {
|
||||
public void close() throws IOException {
|
||||
this.os.close();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ import java.util.Map;
|
||||
* A class which contains NBT-related utility methods.
|
||||
*/
|
||||
public final class NBTUtils {
|
||||
|
||||
/**
|
||||
* Default private constructor.
|
||||
*/
|
||||
@ -148,5 +147,4 @@ public final class NBTUtils {
|
||||
}
|
||||
return expected.cast(tag);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,14 +18,12 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.jnbt;
|
||||
|
||||
/**
|
||||
* The {@code TAG_Short} tag.
|
||||
*/
|
||||
public final class ShortTag extends Tag {
|
||||
|
||||
private final short value;
|
||||
|
||||
/**
|
||||
@ -63,5 +61,4 @@ public final class ShortTag extends Tag {
|
||||
}
|
||||
return "TAG_Short" + append + ": " + this.value;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
* The {@code TAG_String} tag.
|
||||
*/
|
||||
public final class StringTag extends Tag {
|
||||
|
||||
private final String value;
|
||||
|
||||
/**
|
||||
@ -46,5 +45,4 @@ public final class StringTag extends Tag {
|
||||
}
|
||||
return "TAG_String" + append + ": " + this.value;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,14 +18,12 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.jnbt;
|
||||
|
||||
/**
|
||||
* Represents a NBT tag.
|
||||
*/
|
||||
public abstract class Tag {
|
||||
|
||||
private final String name;
|
||||
|
||||
/**
|
||||
@ -62,5 +60,4 @@ public abstract class Tag {
|
||||
* @return the value
|
||||
*/
|
||||
public abstract Object getValue();
|
||||
|
||||
}
|
||||
|
@ -4,11 +4,8 @@ import org.bukkit.World;
|
||||
|
||||
public class WorldEditUtils {
|
||||
public static void setNBT(final World world, final short id, final byte data, final int x, final int y, final int z, final com.intellectualcrafters.jnbt.CompoundTag tag) {
|
||||
|
||||
// final LocalWorld bukkitWorld = BukkitUtil.getLocalWorld(world);
|
||||
|
||||
// I need to somehow convert our CompoundTag to WorldEdit's
|
||||
|
||||
// final BaseBlock block = new BaseBlock(5, 5, (CompoundTag) tag);
|
||||
// final Vector vector = new Vector(x, y, z);
|
||||
// try {
|
||||
|
@ -18,7 +18,6 @@ package com.intellectualcrafters.json;
|
||||
* @version 2014-05-03
|
||||
*/
|
||||
public class CDL {
|
||||
|
||||
/**
|
||||
* Get the next value. The value can be wrapped in quotes. The value can be empty.
|
||||
*
|
||||
@ -42,7 +41,7 @@ public class CDL {
|
||||
case '\'':
|
||||
q = c;
|
||||
sb = new StringBuffer();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
c = x.next();
|
||||
if (c == q) {
|
||||
break;
|
||||
@ -73,14 +72,14 @@ public class CDL {
|
||||
*/
|
||||
public static JSONArray rowToJSONArray(final JSONTokener x) throws JSONException {
|
||||
final JSONArray ja = new JSONArray();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
final String value = getValue(x);
|
||||
char c = x.next();
|
||||
if ((value == null) || ((ja.length() == 0) && (value.length() == 0) && (c != ','))) {
|
||||
return null;
|
||||
}
|
||||
ja.put(value);
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
if (c == ',') {
|
||||
break;
|
||||
}
|
||||
@ -205,7 +204,7 @@ public class CDL {
|
||||
return null;
|
||||
}
|
||||
final JSONArray ja = new JSONArray();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
final JSONObject jo = rowToJSONObject(names, x);
|
||||
if (jo == null) {
|
||||
break;
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.json;
|
||||
|
||||
/**
|
||||
@ -29,7 +28,6 @@ package com.intellectualcrafters.json;
|
||||
* @version 2014-05-03
|
||||
*/
|
||||
public class Cookie {
|
||||
|
||||
/**
|
||||
* Produce a copy of a string in which the characters '+', '%', '=', ';' and control characters are replaced with
|
||||
* "%hh". This is a gentle form of URL encoding, attempting to cause as little distortion to the string as possible.
|
||||
@ -112,7 +110,6 @@ public class Cookie {
|
||||
*/
|
||||
public static String toString(final JSONObject jo) throws JSONException {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append(escape(jo.getString("name")));
|
||||
sb.append("=");
|
||||
sb.append(escape(jo.getString("value")));
|
||||
|
@ -9,7 +9,6 @@ import java.util.Iterator;
|
||||
* @version 2014-05-03
|
||||
*/
|
||||
public class CookieList {
|
||||
|
||||
/**
|
||||
* Convert a cookie list into a JSONObject. A cookie list is a sequence of name/value pairs. The names are separated
|
||||
* from the values by '='. The pairs are separated by ';'. The names and the values will be unescaped, possibly
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.json;
|
||||
|
||||
import java.util.Iterator;
|
||||
@ -30,7 +29,6 @@ import java.util.Iterator;
|
||||
* @version 2014-05-03
|
||||
*/
|
||||
public class HTTP {
|
||||
|
||||
/**
|
||||
* Carriage return/line feed.
|
||||
*/
|
||||
@ -93,28 +91,20 @@ public class HTTP {
|
||||
final JSONObject jo = new JSONObject();
|
||||
final HTTPTokener x = new HTTPTokener(string);
|
||||
String token;
|
||||
|
||||
token = x.nextToken();
|
||||
if (token.toUpperCase().startsWith("HTTP")) {
|
||||
|
||||
// Response
|
||||
|
||||
jo.put("HTTP-Version", token);
|
||||
jo.put("Status-Code", x.nextToken());
|
||||
jo.put("Reason-Phrase", x.nextTo('\0'));
|
||||
x.next();
|
||||
|
||||
} else {
|
||||
|
||||
// Request
|
||||
|
||||
jo.put("Method", token);
|
||||
jo.put("Request-URI", x.nextToken());
|
||||
jo.put("HTTP-Version", x.nextToken());
|
||||
}
|
||||
|
||||
// Fields
|
||||
|
||||
while (x.more()) {
|
||||
final String name = x.nextTo(':');
|
||||
x.next(':');
|
||||
|
@ -7,7 +7,6 @@ package com.intellectualcrafters.json;
|
||||
* @version 2014-05-03
|
||||
*/
|
||||
public class HTTPTokener extends JSONTokener {
|
||||
|
||||
/**
|
||||
* Construct an HTTPTokener from a string.
|
||||
*
|
||||
@ -33,7 +32,7 @@ public class HTTPTokener extends JSONTokener {
|
||||
} while (Character.isWhitespace(c));
|
||||
if ((c == '"') || (c == '\'')) {
|
||||
q = c;
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
c = next();
|
||||
if (c < ' ') {
|
||||
throw syntaxError("Unterminated string.");
|
||||
@ -44,7 +43,7 @@ public class HTTPTokener extends JSONTokener {
|
||||
sb.append(c);
|
||||
}
|
||||
}
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
if ((c == 0) || Character.isWhitespace(c)) {
|
||||
return sb.toString();
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.json;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -58,7 +57,6 @@ import java.util.Map;
|
||||
* @version 2014-05-03
|
||||
*/
|
||||
public class JSONArray {
|
||||
|
||||
/**
|
||||
* The arrayList where the JSONArray's properties are kept.
|
||||
*/
|
||||
@ -85,7 +83,7 @@ public class JSONArray {
|
||||
}
|
||||
if (x.nextClean() != ']') {
|
||||
x.back();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
if (x.nextClean() == ',') {
|
||||
x.back();
|
||||
this.myArrayList.add(JSONObject.NULL);
|
||||
@ -317,7 +315,6 @@ public class JSONArray {
|
||||
public String join(final String separator) throws JSONException {
|
||||
final int len = this.length();
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
|
||||
for (int i = 0; i < len; i += 1) {
|
||||
if (i > 0) {
|
||||
sb.append(separator);
|
||||
@ -855,12 +852,10 @@ public class JSONArray {
|
||||
boolean commanate = false;
|
||||
final int length = this.length();
|
||||
writer.write('[');
|
||||
|
||||
if (length == 1) {
|
||||
JSONObject.writeValue(writer, this.myArrayList.get(0), indentFactor, indent);
|
||||
} else if (length != 0) {
|
||||
final int newindent = indent + indentFactor;
|
||||
|
||||
for (int i = 0; i < length; i += 1) {
|
||||
if (commanate) {
|
||||
writer.write(',');
|
||||
|
@ -10,7 +10,6 @@ import java.util.Iterator;
|
||||
* @version 2014-05-03
|
||||
*/
|
||||
public class JSONML {
|
||||
|
||||
/**
|
||||
* Parse XML values and store them in a JSONArray.
|
||||
*
|
||||
@ -31,13 +30,11 @@ public class JSONML {
|
||||
JSONObject newjo = null;
|
||||
Object token;
|
||||
String tagName = null;
|
||||
|
||||
// Test for and skip past these forms:
|
||||
// <!-- ... -->
|
||||
// <![ ... ]]>
|
||||
// <! ... >
|
||||
// <? ... ?>
|
||||
|
||||
while (true) {
|
||||
if (!x.more()) {
|
||||
throw x.syntaxError("Bad XML");
|
||||
@ -47,9 +44,7 @@ public class JSONML {
|
||||
token = x.nextToken();
|
||||
if (token instanceof Character) {
|
||||
if (token == XML.SLASH) {
|
||||
|
||||
// Close tag </
|
||||
|
||||
token = x.nextToken();
|
||||
if (!(token instanceof String)) {
|
||||
throw new JSONException("Expected a closing name instead of '" + token + "'.");
|
||||
@ -59,9 +54,7 @@ public class JSONML {
|
||||
}
|
||||
return token;
|
||||
} else if (token == XML.BANG) {
|
||||
|
||||
// <!
|
||||
|
||||
c = x.next();
|
||||
if (c == '-') {
|
||||
if (x.next() == '-') {
|
||||
@ -92,16 +85,12 @@ public class JSONML {
|
||||
} while (i > 0);
|
||||
}
|
||||
} else if (token == XML.QUEST) {
|
||||
|
||||
// <?
|
||||
|
||||
x.skipPast("?>");
|
||||
} else {
|
||||
throw x.syntaxError("Misshaped tag");
|
||||
}
|
||||
|
||||
// Open tag <
|
||||
|
||||
} else {
|
||||
if (!(token instanceof String)) {
|
||||
throw x.syntaxError("Bad tagName '" + token + "'.");
|
||||
@ -121,7 +110,7 @@ public class JSONML {
|
||||
}
|
||||
}
|
||||
token = null;
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
if (token == null) {
|
||||
token = x.nextToken();
|
||||
}
|
||||
@ -131,9 +120,7 @@ public class JSONML {
|
||||
if (!(token instanceof String)) {
|
||||
break;
|
||||
}
|
||||
|
||||
// attribute = value
|
||||
|
||||
attribute = (String) token;
|
||||
if (!arrayForm && ("tagName".equals(attribute) || "childNode".equals(attribute))) {
|
||||
throw x.syntaxError("Reserved attribute.");
|
||||
@ -153,9 +140,7 @@ public class JSONML {
|
||||
if (arrayForm && (newjo.length() > 0)) {
|
||||
newja.put(newjo);
|
||||
}
|
||||
|
||||
// Empty tag <.../>
|
||||
|
||||
if (token == XML.SLASH) {
|
||||
if (x.nextToken() != XML.GT) {
|
||||
throw x.syntaxError("Misshaped tag");
|
||||
@ -167,9 +152,7 @@ public class JSONML {
|
||||
return newjo;
|
||||
}
|
||||
}
|
||||
|
||||
// Content, between <...> and </...>
|
||||
|
||||
} else {
|
||||
if (token != XML.GT) {
|
||||
throw x.syntaxError("Misshaped tag");
|
||||
@ -289,22 +272,17 @@ public class JSONML {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
String tagName;
|
||||
String value;
|
||||
|
||||
// Emit <tagName
|
||||
|
||||
tagName = ja.getString(0);
|
||||
XML.noSpace(tagName);
|
||||
tagName = XML.escape(tagName);
|
||||
sb.append('<');
|
||||
sb.append(tagName);
|
||||
|
||||
object = ja.opt(1);
|
||||
if (object instanceof JSONObject) {
|
||||
i = 2;
|
||||
jo = (JSONObject) object;
|
||||
|
||||
// Emit the attributes
|
||||
|
||||
keys = jo.keys();
|
||||
while (keys.hasNext()) {
|
||||
key = keys.next();
|
||||
@ -322,9 +300,7 @@ public class JSONML {
|
||||
} else {
|
||||
i = 1;
|
||||
}
|
||||
|
||||
// Emit content in body
|
||||
|
||||
length = ja.length();
|
||||
if (i >= length) {
|
||||
sb.append('/');
|
||||
@ -373,9 +349,7 @@ public class JSONML {
|
||||
Object object;
|
||||
String tagName;
|
||||
String value;
|
||||
|
||||
// Emit <tagName
|
||||
|
||||
tagName = jo.optString("tagName");
|
||||
if (tagName == null) {
|
||||
return XML.escape(jo.toString());
|
||||
@ -384,9 +358,7 @@ public class JSONML {
|
||||
tagName = XML.escape(tagName);
|
||||
sb.append('<');
|
||||
sb.append(tagName);
|
||||
|
||||
// Emit the attributes
|
||||
|
||||
keys = jo.keys();
|
||||
while (keys.hasNext()) {
|
||||
key = keys.next();
|
||||
@ -403,9 +375,7 @@ public class JSONML {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Emit content in body
|
||||
|
||||
ja = jo.optJSONArray("childNodes");
|
||||
if (ja == null) {
|
||||
sb.append('/');
|
||||
|
@ -103,11 +103,10 @@ public class JSONObject {
|
||||
this();
|
||||
char c;
|
||||
String key;
|
||||
|
||||
if (x.nextClean() != '{') {
|
||||
throw x.syntaxError("A JSONObject text must begin with '{'");
|
||||
}
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
c = x.nextClean();
|
||||
switch (c) {
|
||||
case 0:
|
||||
@ -118,17 +117,13 @@ public class JSONObject {
|
||||
x.back();
|
||||
key = x.nextValue().toString();
|
||||
}
|
||||
|
||||
// The key is followed by ':'.
|
||||
|
||||
c = x.nextClean();
|
||||
if (c != ':') {
|
||||
throw x.syntaxError("Expected a ':' after a key");
|
||||
}
|
||||
this.putOnce(key, x.nextValue());
|
||||
|
||||
// Pairs are separated by ','.
|
||||
|
||||
switch (x.nextClean()) {
|
||||
case ';':
|
||||
case ',':
|
||||
@ -226,20 +221,16 @@ public class JSONObject {
|
||||
public JSONObject(final String baseName, final Locale locale) throws JSONException {
|
||||
this();
|
||||
final ResourceBundle bundle = ResourceBundle.getBundle(baseName, locale, Thread.currentThread().getContextClassLoader());
|
||||
|
||||
// Iterate through the keys in the bundle.
|
||||
|
||||
final Enumeration<String> keys = bundle.getKeys();
|
||||
while (keys.hasMoreElements()) {
|
||||
final Object key = keys.nextElement();
|
||||
if (key != null) {
|
||||
|
||||
// Go through the path, ensuring that there is a nested
|
||||
// JSONObject for each
|
||||
// segment except the last. Add the value using the last
|
||||
// segment's name into
|
||||
// the deepest nested JSONObject.
|
||||
|
||||
final String[] path = ((String) key).split("\\.");
|
||||
final int last = path.length - 1;
|
||||
JSONObject target = this;
|
||||
@ -268,9 +259,7 @@ public class JSONObject {
|
||||
if (Double.isInfinite(d) || Double.isNaN(d)) {
|
||||
return "null";
|
||||
}
|
||||
|
||||
// Shave off trailing zeros and decimal point, if possible.
|
||||
|
||||
String string = Double.toString(d);
|
||||
if ((string.indexOf('.') > 0) && (string.indexOf('e') < 0) && (string.indexOf('E') < 0)) {
|
||||
while (string.endsWith("0")) {
|
||||
@ -339,9 +328,7 @@ public class JSONObject {
|
||||
throw new JSONException("Null pointer");
|
||||
}
|
||||
testValidity(number);
|
||||
|
||||
// Shave off trailing zeros and decimal point, if possible.
|
||||
|
||||
String string = number.toString();
|
||||
if ((string.indexOf('.') > 0) && (string.indexOf('e') < 0) && (string.indexOf('E') < 0)) {
|
||||
while (string.endsWith("0")) {
|
||||
@ -380,13 +367,11 @@ public class JSONObject {
|
||||
w.write("\"\"");
|
||||
return w;
|
||||
}
|
||||
|
||||
char b;
|
||||
char c = 0;
|
||||
String hhhh;
|
||||
int i;
|
||||
final int len = string.length();
|
||||
|
||||
w.write('"');
|
||||
for (i = 0; i < len; i += 1) {
|
||||
b = c;
|
||||
@ -454,12 +439,10 @@ public class JSONObject {
|
||||
if (string.equalsIgnoreCase("null")) {
|
||||
return JSONObject.NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* If it might be a number, try converting it. If a number cannot be
|
||||
* produced, then the value will just be a string.
|
||||
*/
|
||||
|
||||
final char b = string.charAt(0);
|
||||
if (((b >= '0') && (b <= '9')) || (b == '-')) {
|
||||
try {
|
||||
@ -576,7 +559,6 @@ public class JSONObject {
|
||||
if ((object instanceof JSONObject) || (object instanceof JSONArray) || NULL.equals(object) || (object instanceof JSONString) || (object instanceof Byte) || (object instanceof Character) || (object instanceof Short) || (object instanceof Integer) || (object instanceof Long) || (object instanceof Boolean) || (object instanceof Float) || (object instanceof Double) || (object instanceof String)) {
|
||||
return object;
|
||||
}
|
||||
|
||||
if (object instanceof Collection) {
|
||||
return new JSONArray((Collection<Object>) object);
|
||||
}
|
||||
@ -1104,11 +1086,8 @@ public class JSONObject {
|
||||
|
||||
private void populateMap(final Object bean) {
|
||||
final Class klass = bean.getClass();
|
||||
|
||||
// If klass is a System class then set includeSuperClass to false.
|
||||
|
||||
final boolean includeSuperClass = klass.getClassLoader() != null;
|
||||
|
||||
final Method[] methods = includeSuperClass ? klass.getMethods() : klass.getDeclaredMethods();
|
||||
for (final Method method : methods) {
|
||||
try {
|
||||
@ -1130,7 +1109,6 @@ public class JSONObject {
|
||||
} else if (!Character.isUpperCase(key.charAt(1))) {
|
||||
key = key.substring(0, 1).toLowerCase() + key.substring(1);
|
||||
}
|
||||
|
||||
final Object result = method.invoke(bean, (Object[]) null);
|
||||
if (result != null) {
|
||||
this.map.put(key, wrap(result));
|
||||
@ -1433,7 +1411,6 @@ public class JSONObject {
|
||||
final int length = this.length();
|
||||
final Iterator<String> keys = this.keys();
|
||||
writer.write('{');
|
||||
|
||||
if (length == 1) {
|
||||
final Object key = keys.next();
|
||||
writer.write(quote(key.toString()));
|
||||
@ -1478,7 +1455,6 @@ public class JSONObject {
|
||||
* value that JavaScript calls undefined.
|
||||
*/
|
||||
private static final class Null {
|
||||
|
||||
/**
|
||||
* There is only intended to be a single instance of the NULL object, so the clone method returns itself.
|
||||
*
|
||||
|
@ -15,7 +15,6 @@ import java.io.StringReader;
|
||||
* @version 2014-05-03
|
||||
*/
|
||||
public class JSONTokener {
|
||||
|
||||
private final Reader reader;
|
||||
private long character;
|
||||
private boolean eof;
|
||||
@ -125,7 +124,6 @@ public class JSONTokener {
|
||||
} catch (final IOException exception) {
|
||||
throw new JSONException(exception);
|
||||
}
|
||||
|
||||
if (c <= 0) { // End of stream
|
||||
this.eof = true;
|
||||
c = 0;
|
||||
@ -175,10 +173,8 @@ public class JSONTokener {
|
||||
if (n == 0) {
|
||||
return "";
|
||||
}
|
||||
|
||||
final char[] chars = new char[n];
|
||||
int pos = 0;
|
||||
|
||||
while (pos < n) {
|
||||
chars[pos] = this.next();
|
||||
if (this.end()) {
|
||||
@ -197,7 +193,7 @@ public class JSONTokener {
|
||||
* @throws JSONException
|
||||
*/
|
||||
public char nextClean() throws JSONException {
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
final char c = this.next();
|
||||
if ((c == 0) || (c > ' ')) {
|
||||
return c;
|
||||
@ -219,7 +215,7 @@ public class JSONTokener {
|
||||
public String nextString(final char quote) throws JSONException {
|
||||
char c;
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
c = this.next();
|
||||
switch (c) {
|
||||
case 0:
|
||||
@ -275,7 +271,7 @@ public class JSONTokener {
|
||||
*/
|
||||
public String nextTo(final char delimiter) throws JSONException {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
final char c = this.next();
|
||||
if ((c == delimiter) || (c == 0) || (c == '\n') || (c == '\r')) {
|
||||
if (c != 0) {
|
||||
@ -298,7 +294,7 @@ public class JSONTokener {
|
||||
public String nextTo(final String delimiters) throws JSONException {
|
||||
char c;
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
c = this.next();
|
||||
if ((delimiters.indexOf(c) >= 0) || (c == 0) || (c == '\n') || (c == '\r')) {
|
||||
if (c != 0) {
|
||||
@ -321,7 +317,6 @@ public class JSONTokener {
|
||||
public Object nextValue() throws JSONException {
|
||||
char c = this.nextClean();
|
||||
String string;
|
||||
|
||||
switch (c) {
|
||||
case '"':
|
||||
case '\'':
|
||||
@ -333,7 +328,6 @@ public class JSONTokener {
|
||||
this.back();
|
||||
return new JSONArray(this);
|
||||
}
|
||||
|
||||
/*
|
||||
* Handle unquoted text. This could be the values true, false, or
|
||||
* null, or it can be a number. An implementation (such as this one)
|
||||
@ -341,14 +335,12 @@ public class JSONTokener {
|
||||
* Accumulate characters until we reach the end of the text or a
|
||||
* formatting character.
|
||||
*/
|
||||
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
while ((c >= ' ') && (",:]}/\\\"[{;=#".indexOf(c) < 0)) {
|
||||
sb.append(c);
|
||||
c = this.next();
|
||||
}
|
||||
this.back();
|
||||
|
||||
string = sb.toString().trim();
|
||||
if ("".equals(string)) {
|
||||
throw this.syntaxError("Missing value");
|
||||
|
@ -216,7 +216,6 @@ public class JSONWriter {
|
||||
return this;
|
||||
}
|
||||
throw new JSONException("Misplaced object.");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -27,7 +27,6 @@ package com.intellectualcrafters.json;
|
||||
* @version 2013-04-18
|
||||
*/
|
||||
public class Kim {
|
||||
|
||||
/**
|
||||
* The number of bytes in the kim. The number of bytes can be as much as three times the number of characters.
|
||||
*/
|
||||
@ -53,11 +52,9 @@ public class Kim {
|
||||
* @param thru The index of the last byte plus one.
|
||||
*/
|
||||
public Kim(final byte[] bytes, final int from, final int thru) {
|
||||
|
||||
// As the bytes are copied into the new kim, a hashcode is computed
|
||||
// using a
|
||||
// modified Fletcher code.
|
||||
|
||||
int sum = 1;
|
||||
int value;
|
||||
this.hashcode = 0;
|
||||
@ -106,10 +103,8 @@ public class Kim {
|
||||
final int stringLength = string.length();
|
||||
this.hashcode = 0;
|
||||
this.length = 0;
|
||||
|
||||
// First pass: Determine the length of the kim, allowing for the UTF-16
|
||||
// to UTF-32 conversion, and then the UTF-32 to Kim conversion.
|
||||
|
||||
if (stringLength > 0) {
|
||||
for (int i = 0; i < stringLength; i += 1) {
|
||||
final int c = string.charAt(i);
|
||||
@ -128,11 +123,9 @@ public class Kim {
|
||||
this.length += 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Second pass: Allocate a byte array and fill that array with the
|
||||
// conversion
|
||||
// while computing the hashcode.
|
||||
|
||||
this.bytes = new byte[this.length];
|
||||
int at = 0;
|
||||
int b;
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.json;
|
||||
|
||||
import java.util.Enumeration;
|
||||
|
@ -9,47 +9,38 @@ import java.util.Iterator;
|
||||
* @version 2014-05-03
|
||||
*/
|
||||
public class XML {
|
||||
|
||||
/**
|
||||
* The Character '&'.
|
||||
*/
|
||||
public static final Character AMP = '&';
|
||||
|
||||
/**
|
||||
* The Character '''.
|
||||
*/
|
||||
public static final Character APOS = '\'';
|
||||
|
||||
/**
|
||||
* The Character '!'.
|
||||
*/
|
||||
public static final Character BANG = '!';
|
||||
|
||||
/**
|
||||
* The Character '='.
|
||||
*/
|
||||
public static final Character EQ = '=';
|
||||
|
||||
/**
|
||||
* The Character '>'.
|
||||
*/
|
||||
public static final Character GT = '>';
|
||||
|
||||
/**
|
||||
* The Character '<'.
|
||||
*/
|
||||
public static final Character LT = '<';
|
||||
|
||||
/**
|
||||
* The Character '?'.
|
||||
*/
|
||||
public static final Character QUEST = '?';
|
||||
|
||||
/**
|
||||
* The Character '"'.
|
||||
*/
|
||||
public static final Character QUOT = '"';
|
||||
|
||||
/**
|
||||
* The Character '/'.
|
||||
*/
|
||||
@ -135,7 +126,6 @@ public class XML {
|
||||
String string;
|
||||
String tagName;
|
||||
Object token;
|
||||
|
||||
// Test for and skip past these forms:
|
||||
// <!-- ... -->
|
||||
// <! ... >
|
||||
@ -145,11 +135,8 @@ public class XML {
|
||||
// <>
|
||||
// <=
|
||||
// <<
|
||||
|
||||
token = x.nextToken();
|
||||
|
||||
// <!
|
||||
|
||||
if (token == BANG) {
|
||||
c = x.next();
|
||||
if (c == '-') {
|
||||
@ -184,15 +171,11 @@ public class XML {
|
||||
} while (i > 0);
|
||||
return false;
|
||||
} else if (token == QUEST) {
|
||||
|
||||
// <?
|
||||
|
||||
x.skipPast("?>");
|
||||
return false;
|
||||
} else if (token == SLASH) {
|
||||
|
||||
// Close tag </
|
||||
|
||||
token = x.nextToken();
|
||||
if (name == null) {
|
||||
throw x.syntaxError("Mismatched close tag " + token);
|
||||
@ -204,23 +187,18 @@ public class XML {
|
||||
throw x.syntaxError("Misshaped close tag");
|
||||
}
|
||||
return true;
|
||||
|
||||
} else if (token instanceof Character) {
|
||||
throw x.syntaxError("Misshaped tag");
|
||||
|
||||
// Open tag <
|
||||
|
||||
} else {
|
||||
tagName = (String) token;
|
||||
token = null;
|
||||
jsonobject = new JSONObject();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
if (token == null) {
|
||||
token = x.nextToken();
|
||||
}
|
||||
|
||||
// attribute = value
|
||||
|
||||
if (token instanceof String) {
|
||||
string = (String) token;
|
||||
token = x.nextToken();
|
||||
@ -234,9 +212,7 @@ public class XML {
|
||||
} else {
|
||||
jsonobject.accumulate(string, "");
|
||||
}
|
||||
|
||||
// Empty tag <.../>
|
||||
|
||||
} else if (token == SLASH) {
|
||||
if (x.nextToken() != GT) {
|
||||
throw x.syntaxError("Misshaped tag");
|
||||
@ -247,11 +223,9 @@ public class XML {
|
||||
context.accumulate(tagName, "");
|
||||
}
|
||||
return false;
|
||||
|
||||
// Content, between <...> and </...>
|
||||
|
||||
} else if (token == GT) {
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
token = x.nextContent();
|
||||
if (token == null) {
|
||||
if (tagName != null) {
|
||||
@ -263,9 +237,7 @@ public class XML {
|
||||
if (string.length() > 0) {
|
||||
jsonobject.accumulate("content", XML.stringToValue(string));
|
||||
}
|
||||
|
||||
// Nested element
|
||||
|
||||
} else if (token == LT) {
|
||||
if (parse(x, jsonobject, tagName)) {
|
||||
if (jsonobject.length() == 0) {
|
||||
@ -305,11 +277,9 @@ public class XML {
|
||||
if ("null".equalsIgnoreCase(string)) {
|
||||
return JSONObject.NULL;
|
||||
}
|
||||
|
||||
// If it might be a number, try converting it, first as a Long, and then
|
||||
// as a
|
||||
// Double. If that doesn't work, return the string.
|
||||
|
||||
try {
|
||||
final char initial = string.charAt(0);
|
||||
if ((initial == '-') || ((initial >= '0') && (initial <= '9'))) {
|
||||
@ -387,17 +357,13 @@ public class XML {
|
||||
String string;
|
||||
Object value;
|
||||
if (object instanceof JSONObject) {
|
||||
|
||||
// Emit <tagName>
|
||||
|
||||
if (tagName != null) {
|
||||
sb.append('<');
|
||||
sb.append(tagName);
|
||||
sb.append('>');
|
||||
}
|
||||
|
||||
// Loop thru the keys.
|
||||
|
||||
jo = (JSONObject) object;
|
||||
keys = jo.keys();
|
||||
while (keys.hasNext()) {
|
||||
@ -407,9 +373,7 @@ public class XML {
|
||||
value = "";
|
||||
}
|
||||
string = value instanceof String ? (String) value : null;
|
||||
|
||||
// Emit content in body
|
||||
|
||||
if ("content".equals(key)) {
|
||||
if (value instanceof JSONArray) {
|
||||
ja = (JSONArray) value;
|
||||
@ -423,9 +387,7 @@ public class XML {
|
||||
} else {
|
||||
sb.append(escape(value.toString()));
|
||||
}
|
||||
|
||||
// Emit an array of similar keys
|
||||
|
||||
} else if (value instanceof JSONArray) {
|
||||
ja = (JSONArray) value;
|
||||
length = ja.length();
|
||||
@ -447,27 +409,21 @@ public class XML {
|
||||
sb.append('<');
|
||||
sb.append(key);
|
||||
sb.append("/>");
|
||||
|
||||
// Emit a new tag <k>
|
||||
|
||||
} else {
|
||||
sb.append(toString(value, key));
|
||||
}
|
||||
}
|
||||
if (tagName != null) {
|
||||
|
||||
// Emit the </tagname> close tag
|
||||
|
||||
sb.append("</");
|
||||
sb.append(tagName);
|
||||
sb.append('>');
|
||||
}
|
||||
return sb.toString();
|
||||
|
||||
// XML does not have good support for arrays. If an array appears in
|
||||
// a place
|
||||
// where XML is lacking, synthesize an <array> element.
|
||||
|
||||
} else {
|
||||
if (object.getClass().isArray()) {
|
||||
object = new JSONArray(object);
|
||||
|
@ -7,12 +7,10 @@ package com.intellectualcrafters.json;
|
||||
* @version 2014-05-03
|
||||
*/
|
||||
public class XMLTokener extends JSONTokener {
|
||||
|
||||
/**
|
||||
* The table of entity values. It initially contains Character values for amp, apos, gt, lt, quot.
|
||||
*/
|
||||
public static final java.util.HashMap<String, Character> entity;
|
||||
|
||||
static {
|
||||
entity = new java.util.HashMap<String, Character>(8);
|
||||
entity.put("amp", XML.AMP);
|
||||
@ -42,7 +40,7 @@ public class XMLTokener extends JSONTokener {
|
||||
char c;
|
||||
int i;
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
c = next();
|
||||
if (end()) {
|
||||
throw syntaxError("Unclosed CDATA");
|
||||
@ -77,7 +75,7 @@ public class XMLTokener extends JSONTokener {
|
||||
return XML.LT;
|
||||
}
|
||||
sb = new StringBuilder();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
if ((c == '<') || (c == 0)) {
|
||||
back();
|
||||
return sb.toString().trim();
|
||||
@ -103,7 +101,7 @@ public class XMLTokener extends JSONTokener {
|
||||
*/
|
||||
public Object nextEntity(final char ampersand) throws JSONException {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
final char c = next();
|
||||
if (Character.isLetterOrDigit(c) || (c == '#')) {
|
||||
sb.append(Character.toLowerCase(c));
|
||||
@ -150,7 +148,7 @@ public class XMLTokener extends JSONTokener {
|
||||
case '"':
|
||||
case '\'':
|
||||
q = c;
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
c = next();
|
||||
if (c == 0) {
|
||||
throw syntaxError("Unterminated string");
|
||||
@ -160,7 +158,7 @@ public class XMLTokener extends JSONTokener {
|
||||
}
|
||||
}
|
||||
default:
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
c = next();
|
||||
if (Character.isWhitespace(c)) {
|
||||
return Boolean.TRUE;
|
||||
@ -212,14 +210,12 @@ public class XMLTokener extends JSONTokener {
|
||||
return XML.BANG;
|
||||
case '?':
|
||||
return XML.QUEST;
|
||||
|
||||
// Quoted string
|
||||
|
||||
// Quoted string
|
||||
case '"':
|
||||
case '\'':
|
||||
q = c;
|
||||
sb = new StringBuilder();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
c = next();
|
||||
if (c == 0) {
|
||||
throw syntaxError("Unterminated string");
|
||||
@ -234,11 +230,9 @@ public class XMLTokener extends JSONTokener {
|
||||
}
|
||||
}
|
||||
default:
|
||||
|
||||
// Name
|
||||
|
||||
sb = new StringBuilder();
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
sb.append(c);
|
||||
c = next();
|
||||
if (Character.isWhitespace(c)) {
|
||||
@ -281,12 +275,10 @@ public class XMLTokener extends JSONTokener {
|
||||
int offset = 0;
|
||||
final int length = to.length();
|
||||
final char[] circle = new char[length];
|
||||
|
||||
/*
|
||||
* First fill the circle buffer with as many characters as are in the
|
||||
* to string. If we reach an early end, bail.
|
||||
*/
|
||||
|
||||
for (i = 0; i < length; i += 1) {
|
||||
c = next();
|
||||
if (c == 0) {
|
||||
@ -294,15 +286,11 @@ public class XMLTokener extends JSONTokener {
|
||||
}
|
||||
circle[i] = c;
|
||||
}
|
||||
|
||||
/* We will loop, possibly for all of the remaining characters. */
|
||||
|
||||
for (; ; ) {
|
||||
for (;;) {
|
||||
j = offset;
|
||||
b = true;
|
||||
|
||||
/* Compare the circle buffer with the to string. */
|
||||
|
||||
for (i = 0; i < length; i += 1) {
|
||||
if (circle[j] != to.charAt(i)) {
|
||||
b = false;
|
||||
@ -313,15 +301,11 @@ public class XMLTokener extends JSONTokener {
|
||||
j -= length;
|
||||
}
|
||||
}
|
||||
|
||||
/* If we exit the loop with b intact, then victory is ours. */
|
||||
|
||||
if (b) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Get the next character. If there isn't one, then defeat is ours. */
|
||||
|
||||
c = next();
|
||||
if (c == 0) {
|
||||
return false;
|
||||
|
@ -2,9 +2,7 @@ package com.intellectualcrafters.plot;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Chunk;
|
||||
@ -20,7 +18,6 @@ import org.bukkit.generator.ChunkGenerator;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import com.intellectualcrafters.plot.commands.Buy;
|
||||
import com.intellectualcrafters.plot.commands.MainCommand;
|
||||
import com.intellectualcrafters.plot.commands.WE_Anywhere;
|
||||
@ -55,8 +52,7 @@ import com.intellectualcrafters.plot.util.bukkit.SetBlockSlow;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||
|
||||
public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
||||
|
||||
public class BukkitMain extends JavaPlugin implements Listener, IPlotMain {
|
||||
public static BukkitMain THIS = null;
|
||||
public static PlotSquared MAIN = null;
|
||||
|
||||
@ -97,21 +93,18 @@ public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
||||
|
||||
// TODO restructure this
|
||||
public static boolean teleportPlayer(final Player player, final Location from, final Plot plot) {
|
||||
Plot bot = PlayerFunctions.getBottomPlot(player.getWorld().getName(), plot);
|
||||
final Plot bot = PlayerFunctions.getBottomPlot(player.getWorld().getName(), plot);
|
||||
final PlayerTeleportToPlotEvent event = new PlayerTeleportToPlotEvent(player, from, bot);
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
if (!event.isCancelled()) {
|
||||
final Location location = PlotHelper.getPlotHome(bot.world, bot);
|
||||
|
||||
int x = location.getX();
|
||||
int z = location.getZ();
|
||||
|
||||
|
||||
final int x = location.getX();
|
||||
final int z = location.getZ();
|
||||
if ((x >= 29999999) || (x <= -29999999) || (z >= 299999999) || (z <= -29999999)) {
|
||||
event.setCancelled(true);
|
||||
return false;
|
||||
}
|
||||
if (Settings.TELEPORT_DELAY == 0 || hasPermission(player, "plots.teleport.delay.bypass")) {
|
||||
if ((Settings.TELEPORT_DELAY == 0) || hasPermission(player, "plots.teleport.delay.bypass")) {
|
||||
PlayerFunctions.sendMessage(player, C.TELEPORTED_TO_PLOT);
|
||||
BukkitUtil.teleportPlayer(player, location);
|
||||
return true;
|
||||
@ -140,17 +133,17 @@ public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public static void worldLoad(WorldLoadEvent event) {
|
||||
public static void worldLoad(final WorldLoadEvent event) {
|
||||
UUIDHandler.cacheAll();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void PlayerCommand(PlayerCommandPreprocessEvent event) {
|
||||
String message = event.getMessage();
|
||||
public void PlayerCommand(final PlayerCommandPreprocessEvent event) {
|
||||
final String message = event.getMessage();
|
||||
if (message.toLowerCase().startsWith("/plotme")) {
|
||||
Plugin plotme = Bukkit.getPluginManager().getPlugin("PlotMe");
|
||||
final Plugin plotme = Bukkit.getPluginManager().getPlugin("PlotMe");
|
||||
if (plotme == null) {
|
||||
Player player = event.getPlayer();
|
||||
final Player player = event.getPlayer();
|
||||
if (Settings.USE_PLOTME_ALIAS) {
|
||||
player.performCommand(message.replace("/plotme", "plots"));
|
||||
} else {
|
||||
@ -165,7 +158,6 @@ public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
||||
public void onEnable() {
|
||||
MAIN = new PlotSquared(this);
|
||||
THIS = this;
|
||||
|
||||
if (Settings.METRICS) {
|
||||
try {
|
||||
final Metrics metrics = new Metrics(this);
|
||||
@ -177,7 +169,6 @@ public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
||||
} else {
|
||||
log("&dUsing metrics will allow us to improve the plugin, please consider it :)");
|
||||
}
|
||||
|
||||
getServer().getPluginManager().registerEvents(this, this);
|
||||
}
|
||||
|
||||
@ -190,7 +181,7 @@ public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
||||
|
||||
@Override
|
||||
public void log(String message) {
|
||||
if (THIS == null || Bukkit.getServer().getConsoleSender() == null) {
|
||||
if ((THIS == null) || (Bukkit.getServer().getConsoleSender() == null)) {
|
||||
System.out.println(ChatColor.stripColor(ConsoleColors.fromString(message)));
|
||||
} else {
|
||||
message = ChatColor.translateAlternateColorCodes('&', message);
|
||||
@ -279,20 +270,20 @@ public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
||||
return new HybridGen(world);
|
||||
}
|
||||
|
||||
public static boolean checkVersion(int major, int minor, int minor2) {
|
||||
public static boolean checkVersion(final int major, final int minor, final int minor2) {
|
||||
try {
|
||||
String[] version = Bukkit.getBukkitVersion().split("-")[0].split("\\.");
|
||||
int a = Integer.parseInt(version[0]);
|
||||
int b = Integer.parseInt(version[1]);
|
||||
final String[] version = Bukkit.getBukkitVersion().split("-")[0].split("\\.");
|
||||
final int a = Integer.parseInt(version[0]);
|
||||
final int b = Integer.parseInt(version[1]);
|
||||
int c = 0;
|
||||
if (version.length == 3) {
|
||||
c = Integer.parseInt(version[2]);
|
||||
}
|
||||
if (a > major || (a == major && b > minor) || (a == major && b == minor && c >= minor2)) {
|
||||
if ((a > major) || ((a == major) && (b > minor)) || ((a == major) && (b == minor) && (c >= minor2))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
} catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -354,16 +345,14 @@ public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
||||
if (checkVersion(1, 8, 0)) {
|
||||
try {
|
||||
SetBlockManager.setBlockManager = new SetBlockFast_1_8();
|
||||
}
|
||||
catch (Throwable e) {
|
||||
} catch (final Throwable e) {
|
||||
e.printStackTrace();
|
||||
SetBlockManager.setBlockManager = new SetBlockSlow();
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
try {
|
||||
SetBlockManager.setBlockManager = new SetBlockFast();
|
||||
} catch (Throwable e) {
|
||||
} catch (final Throwable e) {
|
||||
SetBlockManager.setBlockManager = new SetBlockSlow();
|
||||
}
|
||||
}
|
||||
@ -389,9 +378,9 @@ public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getGenerator(String world, String name) {
|
||||
Plugin gen_plugin = Bukkit.getPluginManager().getPlugin(name);
|
||||
if (gen_plugin != null && gen_plugin.isEnabled()) {
|
||||
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);
|
||||
@ -399,7 +388,7 @@ public class BukkitMain extends JavaPlugin implements Listener,IPlotMain {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean callRemovePlot(String world, PlotId id) {
|
||||
public boolean callRemovePlot(final String world, final PlotId id) {
|
||||
final PlotDeleteEvent event = new PlotDeleteEvent(world, id);
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
|
@ -36,9 +36,11 @@ import com.intellectualcrafters.plot.flag.AbstractFlag;
|
||||
import com.intellectualcrafters.plot.flag.FlagManager;
|
||||
import com.intellectualcrafters.plot.flag.FlagValue;
|
||||
import com.intellectualcrafters.plot.generator.AugmentedPopulator;
|
||||
import com.intellectualcrafters.plot.generator.ClassicPlotWorld;
|
||||
import com.intellectualcrafters.plot.generator.HybridGen;
|
||||
import com.intellectualcrafters.plot.generator.HybridPlotWorld;
|
||||
import com.intellectualcrafters.plot.generator.SquarePlotManager;
|
||||
import com.intellectualcrafters.plot.generator.SquarePlotWorld;
|
||||
import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
import com.intellectualcrafters.plot.object.PlotCluster;
|
||||
@ -56,19 +58,14 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||
|
||||
public class PlotSquared {
|
||||
|
||||
public static final String MAIN_PERMISSION = "plots.use";
|
||||
public static final String ADMIN_PERMISSION = "plots.admin";
|
||||
|
||||
public static File styleFile;
|
||||
public static YamlConfiguration style;
|
||||
|
||||
public static File configFile;
|
||||
public static YamlConfiguration config;
|
||||
|
||||
public static File storageFile;
|
||||
public static YamlConfiguration storage;
|
||||
|
||||
public static PlotSquared THIS = null; // This class
|
||||
public static IPlotMain IMP = null; // Specific implementation of PlotSquared
|
||||
public static String VERSION = null;
|
||||
@ -76,11 +73,9 @@ public class PlotSquared {
|
||||
private static boolean LOADING_WORLD = false;
|
||||
public static Economy economy = null;
|
||||
public static WorldEditPlugin worldEdit = null;
|
||||
|
||||
private final static HashMap<String, PlotWorld> plotworlds = new HashMap<>();
|
||||
private final static HashMap<String, PlotManager> plotmanagers = new HashMap<>();
|
||||
private static LinkedHashMap<String, HashMap<PlotId, Plot>> plots;
|
||||
|
||||
private static MySQL mySQL;
|
||||
public static Connection connection;
|
||||
|
||||
@ -190,10 +185,9 @@ public class PlotSquared {
|
||||
}
|
||||
plots.get(world).remove(id);
|
||||
if (PlotHelper.lastPlot.containsKey(world)) {
|
||||
PlotId last = PlotHelper.lastPlot.get(world);
|
||||
int last_max = Math.max(last.x, last.y);
|
||||
int this_max = Math.max(id.x, id.y);
|
||||
|
||||
final PlotId last = PlotHelper.lastPlot.get(world);
|
||||
final int last_max = Math.max(last.x, last.y);
|
||||
final int this_max = Math.max(id.x, id.y);
|
||||
if (this_max < last_max) {
|
||||
PlotHelper.lastPlot.put(world, id);
|
||||
}
|
||||
@ -205,16 +199,13 @@ public class PlotSquared {
|
||||
if (getWorldSettings(world) != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Set<String> worlds = (config.contains("worlds") ? config.getConfigurationSection("worlds").getKeys(false) : new HashSet<String>());
|
||||
|
||||
final PlotWorld plotWorld;
|
||||
final PlotGenerator plotGenerator;
|
||||
final PlotManager plotManager;
|
||||
final String path = "worlds." + world;
|
||||
|
||||
if (!LOADING_WORLD && (generator != null) && (generator instanceof PlotGenerator)) {
|
||||
plotGenerator = (PlotGenerator) generator;
|
||||
plotGenerator = generator;
|
||||
plotWorld = plotGenerator.getNewPlotWorld(world);
|
||||
plotManager = plotGenerator.getPlotManager();
|
||||
if (!world.equals("CheckingPlotSquaredGenerator")) {
|
||||
@ -243,14 +234,13 @@ public class PlotSquared {
|
||||
if (!LOADING_WORLD) {
|
||||
LOADING_WORLD = true;
|
||||
try {
|
||||
String gen_string = config.getString("worlds." + world + "." + "generator.plugin");
|
||||
final String gen_string = config.getString("worlds." + world + "." + "generator.plugin");
|
||||
if (gen_string == null) {
|
||||
new HybridGen(world);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
IMP.getGenerator(world, gen_string);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
log("&d=== Oh no! Please set the generator for the " + world + " ===");
|
||||
e.printStackTrace();
|
||||
LOADING_WORLD = false;
|
||||
@ -259,7 +249,7 @@ public class PlotSquared {
|
||||
LOADING_WORLD = false;
|
||||
}
|
||||
} else {
|
||||
PlotGenerator gen_class = (PlotGenerator) generator;
|
||||
final PlotGenerator gen_class = generator;
|
||||
plotWorld = gen_class.getNewPlotWorld(world);
|
||||
plotManager = gen_class.getPlotManager();
|
||||
if (!config.contains(path)) {
|
||||
@ -274,14 +264,14 @@ public class PlotSquared {
|
||||
} catch (final IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if ((plotWorld.TYPE == 2 && !Settings.ENABLE_CLUSTERS) || !(plotManager instanceof SquarePlotManager)) {
|
||||
if (((plotWorld.TYPE == 2) && !Settings.ENABLE_CLUSTERS) || !(plotManager instanceof SquarePlotManager)) {
|
||||
log("&c[ERROR] World '" + world + "' in settings.yml is not using PlotSquared generator! Please set the generator correctly or delete the world from the 'settings.yml'!");
|
||||
return;
|
||||
}
|
||||
addPlotWorld(world, plotWorld, plotManager);
|
||||
if (plotWorld.TYPE == 2) {
|
||||
if (ClusterManager.getClusters(world).size() > 0) {
|
||||
for (PlotCluster cluster : ClusterManager.getClusters(world)) {
|
||||
for (final PlotCluster cluster : ClusterManager.getClusters(world)) {
|
||||
new AugmentedPopulator(world, gen_class, cluster, plotWorld.TERRAIN == 2, plotWorld.TERRAIN != 2);
|
||||
}
|
||||
}
|
||||
@ -292,65 +282,63 @@ public class PlotSquared {
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean setupPlotWorld(String world, String id) {
|
||||
if (id != null && id.length() > 0) {
|
||||
public static boolean setupPlotWorld(final String world, final String id) {
|
||||
if ((id != null) && (id.length() > 0)) {
|
||||
// save configuration
|
||||
String[] split = id.split(",");
|
||||
HybridPlotWorld plotworld = new HybridPlotWorld(world);
|
||||
|
||||
int width = HybridPlotWorld.PLOT_WIDTH_DEFAULT;
|
||||
int gap = HybridPlotWorld.ROAD_WIDTH_DEFAULT;
|
||||
int height = HybridPlotWorld.PLOT_HEIGHT_DEFAULT;
|
||||
PlotBlock[] floor = HybridPlotWorld.TOP_BLOCK_DEFAULT;
|
||||
PlotBlock[] main = HybridPlotWorld.MAIN_BLOCK_DEFAULT;
|
||||
PlotBlock wall = HybridPlotWorld.WALL_FILLING_DEFAULT;
|
||||
PlotBlock border = HybridPlotWorld.WALL_BLOCK_DEFAULT;
|
||||
|
||||
for (String element : split) {
|
||||
String[] pair = element.split("=");
|
||||
final String[] split = id.split(",");
|
||||
final HybridPlotWorld plotworld = new HybridPlotWorld(world);
|
||||
final int width = SquarePlotWorld.PLOT_WIDTH_DEFAULT;
|
||||
final int gap = SquarePlotWorld.ROAD_WIDTH_DEFAULT;
|
||||
final int height = ClassicPlotWorld.PLOT_HEIGHT_DEFAULT;
|
||||
final PlotBlock[] floor = ClassicPlotWorld.TOP_BLOCK_DEFAULT;
|
||||
final PlotBlock[] main = ClassicPlotWorld.MAIN_BLOCK_DEFAULT;
|
||||
final PlotBlock wall = ClassicPlotWorld.WALL_FILLING_DEFAULT;
|
||||
final PlotBlock border = ClassicPlotWorld.WALL_BLOCK_DEFAULT;
|
||||
for (final String element : split) {
|
||||
final String[] pair = element.split("=");
|
||||
if (pair.length != 2) {
|
||||
log("&cNo value provided for: &7" + element);
|
||||
return false;
|
||||
}
|
||||
String key = pair[0].toLowerCase();
|
||||
String value = pair[1];
|
||||
final String key = pair[0].toLowerCase();
|
||||
final String value = pair[1];
|
||||
try {
|
||||
switch (key) {
|
||||
case "s":
|
||||
case "size": {
|
||||
HybridPlotWorld.PLOT_WIDTH_DEFAULT = ((Integer) Configuration.INTEGER.parseString(value)).shortValue();
|
||||
SquarePlotWorld.PLOT_WIDTH_DEFAULT = ((Integer) Configuration.INTEGER.parseString(value)).shortValue();
|
||||
break;
|
||||
}
|
||||
case "g":
|
||||
case "gap": {
|
||||
HybridPlotWorld.ROAD_WIDTH_DEFAULT = ((Integer) Configuration.INTEGER.parseString(value)).shortValue();
|
||||
SquarePlotWorld.ROAD_WIDTH_DEFAULT = ((Integer) Configuration.INTEGER.parseString(value)).shortValue();
|
||||
break;
|
||||
}
|
||||
case "h":
|
||||
case "height": {
|
||||
HybridPlotWorld.PLOT_HEIGHT_DEFAULT = (Integer) Configuration.INTEGER.parseString(value);
|
||||
HybridPlotWorld.ROAD_HEIGHT_DEFAULT = (Integer) Configuration.INTEGER.parseString(value);
|
||||
HybridPlotWorld.WALL_HEIGHT_DEFAULT = (Integer) Configuration.INTEGER.parseString(value);
|
||||
ClassicPlotWorld.PLOT_HEIGHT_DEFAULT = (Integer) Configuration.INTEGER.parseString(value);
|
||||
ClassicPlotWorld.ROAD_HEIGHT_DEFAULT = (Integer) Configuration.INTEGER.parseString(value);
|
||||
ClassicPlotWorld.WALL_HEIGHT_DEFAULT = (Integer) Configuration.INTEGER.parseString(value);
|
||||
break;
|
||||
}
|
||||
case "f":
|
||||
case "floor": {
|
||||
HybridPlotWorld.TOP_BLOCK_DEFAULT = (PlotBlock[]) Configuration.BLOCKLIST.parseString(value);
|
||||
ClassicPlotWorld.TOP_BLOCK_DEFAULT = (PlotBlock[]) Configuration.BLOCKLIST.parseString(value);
|
||||
break;
|
||||
}
|
||||
case "m":
|
||||
case "main": {
|
||||
HybridPlotWorld.MAIN_BLOCK_DEFAULT = (PlotBlock[]) Configuration.BLOCKLIST.parseString(value);
|
||||
ClassicPlotWorld.MAIN_BLOCK_DEFAULT = (PlotBlock[]) Configuration.BLOCKLIST.parseString(value);
|
||||
break;
|
||||
}
|
||||
case "w":
|
||||
case "wall": {
|
||||
HybridPlotWorld.WALL_FILLING_DEFAULT = (PlotBlock) Configuration.BLOCK.parseString(value);
|
||||
ClassicPlotWorld.WALL_FILLING_DEFAULT = (PlotBlock) Configuration.BLOCK.parseString(value);
|
||||
break;
|
||||
}
|
||||
case "b":
|
||||
case "border": {
|
||||
HybridPlotWorld.WALL_BLOCK_DEFAULT = (PlotBlock) Configuration.BLOCK.parseString(value);
|
||||
ClassicPlotWorld.WALL_BLOCK_DEFAULT = (PlotBlock) Configuration.BLOCK.parseString(value);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
@ -358,30 +346,28 @@ public class PlotSquared {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
e.printStackTrace();
|
||||
log("&cInvalid value: &7" + value + " in arg " + element);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
try {
|
||||
String root = "worlds." + world;
|
||||
final String root = "worlds." + world;
|
||||
if (!config.contains(root)) {
|
||||
config.createSection(root);
|
||||
}
|
||||
plotworld.saveConfiguration(config.getConfigurationSection(root));
|
||||
HybridPlotWorld.PLOT_HEIGHT_DEFAULT = height;
|
||||
HybridPlotWorld.ROAD_HEIGHT_DEFAULT = height;
|
||||
HybridPlotWorld.WALL_HEIGHT_DEFAULT = height;
|
||||
HybridPlotWorld.TOP_BLOCK_DEFAULT = floor;
|
||||
HybridPlotWorld.MAIN_BLOCK_DEFAULT = main;
|
||||
HybridPlotWorld.WALL_BLOCK_DEFAULT = border;
|
||||
HybridPlotWorld.WALL_FILLING_DEFAULT = wall;
|
||||
HybridPlotWorld.PLOT_WIDTH_DEFAULT = width;
|
||||
HybridPlotWorld.ROAD_WIDTH_DEFAULT = gap;
|
||||
}
|
||||
catch (Exception e) {
|
||||
ClassicPlotWorld.PLOT_HEIGHT_DEFAULT = height;
|
||||
ClassicPlotWorld.ROAD_HEIGHT_DEFAULT = height;
|
||||
ClassicPlotWorld.WALL_HEIGHT_DEFAULT = height;
|
||||
ClassicPlotWorld.TOP_BLOCK_DEFAULT = floor;
|
||||
ClassicPlotWorld.MAIN_BLOCK_DEFAULT = main;
|
||||
ClassicPlotWorld.WALL_BLOCK_DEFAULT = border;
|
||||
ClassicPlotWorld.WALL_FILLING_DEFAULT = wall;
|
||||
SquarePlotWorld.PLOT_WIDTH_DEFAULT = width;
|
||||
SquarePlotWorld.ROAD_WIDTH_DEFAULT = gap;
|
||||
} catch (final Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
@ -392,14 +378,12 @@ public class PlotSquared {
|
||||
return connection;
|
||||
}
|
||||
|
||||
public PlotSquared(IPlotMain imp_class) {
|
||||
public PlotSquared(final IPlotMain imp_class) {
|
||||
THIS = this;
|
||||
IMP = imp_class;
|
||||
VERSION = IMP.getVersion();
|
||||
|
||||
C.setupTranslations();
|
||||
C.saveTranslations();
|
||||
|
||||
if (getJavaVersion() < 1.7) {
|
||||
log(C.PREFIX.s() + "&cYour java version is outdated. Please update to at least 1.7.");
|
||||
// Didn't know of any other link :D
|
||||
@ -410,7 +394,6 @@ public class PlotSquared {
|
||||
if (getJavaVersion() < 1.8) {
|
||||
log(C.PREFIX.s() + "&cIt's really recommended to run Java 1.8, as it increases performance");
|
||||
}
|
||||
|
||||
TASK = IMP.getTaskManager();
|
||||
if (Settings.KILL_ROAD_MOBS) {
|
||||
IMP.runEntityTask();
|
||||
@ -418,11 +401,9 @@ public class PlotSquared {
|
||||
if (C.ENABLED.s().length() > 0) {
|
||||
log(C.ENABLED.s());
|
||||
}
|
||||
|
||||
setupConfigs();
|
||||
setupDefaultFlags();
|
||||
setupDatabase();
|
||||
|
||||
// Events
|
||||
IMP.registerCommands();
|
||||
IMP.registerPlayerEvents();
|
||||
@ -430,10 +411,8 @@ public class PlotSquared {
|
||||
IMP.registerPlotPlusEvents();
|
||||
IMP.registerForceFieldEvents();
|
||||
IMP.registerWorldEditEvents();
|
||||
|
||||
// Set block
|
||||
IMP.initSetBlockManager();
|
||||
|
||||
// PlotMe
|
||||
TaskManager.runTaskLater(new Runnable() {
|
||||
@Override
|
||||
@ -447,11 +426,9 @@ public class PlotSquared {
|
||||
}
|
||||
}
|
||||
}, 200);
|
||||
|
||||
if (Settings.AUTO_CLEAR) {
|
||||
ExpireManager.runTask();
|
||||
}
|
||||
|
||||
economy = IMP.getEconomy();
|
||||
}
|
||||
|
||||
@ -466,7 +443,7 @@ public class PlotSquared {
|
||||
}
|
||||
}
|
||||
|
||||
public static void log(String message) {
|
||||
public static void log(final String message) {
|
||||
IMP.log(message);
|
||||
}
|
||||
|
||||
@ -474,10 +451,9 @@ public class PlotSquared {
|
||||
final String[] tables;
|
||||
if (Settings.ENABLE_CLUSTERS) {
|
||||
MainCommand.subCommands.add(new Cluster());
|
||||
tables = new String[]{"plot_trusted", "plot_ratings", "plot_comments", "cluster"};
|
||||
}
|
||||
else {
|
||||
tables = new String[]{"plot_trusted", "plot_ratings", "plot_comments"};
|
||||
tables = new String[] { "plot_trusted", "plot_ratings", "plot_comments", "cluster" };
|
||||
} else {
|
||||
tables = new String[] { "plot_trusted", "plot_ratings", "plot_comments" };
|
||||
}
|
||||
if (Settings.DB.USE_MYSQL) {
|
||||
try {
|
||||
@ -515,12 +491,10 @@ public class PlotSquared {
|
||||
if (Settings.ENABLE_CLUSTERS) {
|
||||
ClusterManager.clusters = DBFunc.getClusters();
|
||||
}
|
||||
}
|
||||
else if (Settings.DB.USE_MONGO) {
|
||||
} else if (Settings.DB.USE_MONGO) {
|
||||
// DBFunc.dbManager = new MongoManager();
|
||||
log(C.PREFIX.s() + "MongoDB is not yet implemented");
|
||||
}
|
||||
else if (Settings.DB.USE_SQLITE) {
|
||||
} else if (Settings.DB.USE_SQLITE) {
|
||||
try {
|
||||
connection = new SQLite(THIS, IMP.getDirectory() + File.separator + Settings.DB.SQLITE_DB + ".db").openConnection();
|
||||
{
|
||||
@ -554,8 +528,7 @@ public class PlotSquared {
|
||||
IMP.disable();
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static void setupDefaultFlags() {
|
||||
final List<String> booleanFlags = Arrays.asList("notify-enter", "notify-leave", "item-drop", "invincible", "instabreak", "drop-protection", "forcefield", "titles", "pve", "pvp", "no-worldedit");
|
||||
@ -571,31 +544,22 @@ public class PlotSquared {
|
||||
FlagManager.addFlag(new AbstractFlag(flag, new FlagValue.BooleanValue()));
|
||||
}
|
||||
FlagManager.addFlag(new AbstractFlag("fly", new FlagValue.BooleanValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("explosion", new FlagValue.BooleanValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("hostile-interact", new FlagValue.BooleanValue()));
|
||||
FlagManager.addFlag(new AbstractFlag("hostile-attack", new FlagValue.BooleanValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("animal-interact", new FlagValue.BooleanValue()));
|
||||
FlagManager.addFlag(new AbstractFlag("animal-attack", new FlagValue.BooleanValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("tamed-interact", new FlagValue.BooleanValue()));
|
||||
FlagManager.addFlag(new AbstractFlag("tamed-attack", new FlagValue.BooleanValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("misc-interact", new FlagValue.BooleanValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("hanging-place", new FlagValue.BooleanValue()));
|
||||
FlagManager.addFlag(new AbstractFlag("hanging-break", new FlagValue.BooleanValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("vehicle-use", new FlagValue.BooleanValue()));
|
||||
FlagManager.addFlag(new AbstractFlag("vehicle-place", new FlagValue.BooleanValue()));
|
||||
FlagManager.addFlag(new AbstractFlag("vehicle-break", new FlagValue.BooleanValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("place", new FlagValue.PlotBlockListValue()));
|
||||
FlagManager.addFlag(new AbstractFlag("break", new FlagValue.PlotBlockListValue()));
|
||||
FlagManager.addFlag(new AbstractFlag("use", new FlagValue.PlotBlockListValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("gamemode") {
|
||||
@Override
|
||||
public String parseValueRaw(final String value) {
|
||||
@ -622,11 +586,8 @@ public class PlotSquared {
|
||||
return "Flag value must be a gamemode: 'creative' , 'survival' or 'adventure'";
|
||||
}
|
||||
});
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("price", new FlagValue.UnsignedDoubleValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("time", new FlagValue.LongValue()));
|
||||
|
||||
FlagManager.addFlag(new AbstractFlag("weather") {
|
||||
@Override
|
||||
public String parseValueRaw(final String value) {
|
||||
@ -676,7 +637,6 @@ public class PlotSquared {
|
||||
options.put("titles", Settings.TITLES);
|
||||
options.put("teleport.on_login", Settings.TELEPORT_ON_LOGIN);
|
||||
options.put("worldedit.require-selection-in-mask", Settings.REQUIRE_SELECTION);
|
||||
|
||||
for (final Entry<String, Object> node : options.entrySet()) {
|
||||
if (!config.contains(node.getKey())) {
|
||||
config.set(node.getKey(), node.getValue());
|
||||
@ -693,8 +653,7 @@ public class PlotSquared {
|
||||
Settings.USE_PLOTME_ALIAS = config.getBoolean("plotme-alias");
|
||||
Settings.CONVERT_PLOTME = config.getBoolean("plotme-convert.enabled");
|
||||
Settings.KILL_ROAD_MOBS = config.getBoolean("kill_road_mobs");
|
||||
Settings.MOB_PATHFINDING = config.getBoolean("mob_pathf"
|
||||
+ "inding");
|
||||
Settings.MOB_PATHFINDING = config.getBoolean("mob_pathf" + "inding");
|
||||
Settings.METRICS = config.getBoolean("metrics");
|
||||
Settings.AUTO_CLEAR_DAYS = config.getInt("clear.auto.days");
|
||||
Settings.AUTO_CLEAR_CHECK_DISK = config.getBoolean("clear.check-disk");
|
||||
@ -707,10 +666,8 @@ public class PlotSquared {
|
||||
Settings.MAX_PLOTS = 32767;
|
||||
}
|
||||
Settings.SCHEMATIC_SAVE_PATH = config.getString("schematics.save_path");
|
||||
|
||||
Settings.OFFLINE_MODE = config.getBoolean("UUID.offline");
|
||||
Settings.UUID_FROM_DISK = config.getBoolean("uuid.read-from-disk");
|
||||
|
||||
Settings.REQUIRE_SELECTION = config.getBoolean("worldedit.require-selection-in-mask");
|
||||
}
|
||||
|
||||
@ -788,44 +745,43 @@ public class PlotSquared {
|
||||
}
|
||||
|
||||
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");
|
||||
Settings.DB.HOST_NAME = storage.getString("mysql.host");
|
||||
Settings.DB.PORT = storage.getString("mysql.port");
|
||||
Settings.DB.DATABASE = storage.getString("mysql.database");
|
||||
Settings.DB.USE_SQLITE = storage.getBoolean("sqlite.use");
|
||||
Settings.DB.SQLITE_DB = storage.getString("sqlite.db");
|
||||
Settings.DB.PREFIX = storage.getString("prefix");
|
||||
Settings.METRICS = config.getBoolean("metrics");
|
||||
Settings.AUTO_CLEAR = config.getBoolean("clear.auto.enabled");
|
||||
Settings.AUTO_CLEAR_DAYS = config.getInt("clear.auto.days");
|
||||
Settings.DELETE_PLOTS_ON_BAN = config.getBoolean("clear.on.ban");
|
||||
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 = ChatColor.getByChar(style.getString("color.1"));
|
||||
C.COLOR_2 = ChatColor.getByChar(style.getString("color.2"));
|
||||
C.COLOR_3 = ChatColor.getByChar(style.getString("color.3"));
|
||||
C.COLOR_4 = ChatColor.getByChar(style.getString("color.4"));
|
||||
if (Settings.DEBUG) {
|
||||
final Map<String, String> settings = new HashMap<>();
|
||||
settings.put("Kill Road Mobs", "" + Settings.KILL_ROAD_MOBS);
|
||||
settings.put("Use Metrics", "" + Settings.METRICS);
|
||||
settings.put("Delete Plots On Ban", "" + Settings.DELETE_PLOTS_ON_BAN);
|
||||
settings.put("Mob Pathfinding", "" + Settings.MOB_PATHFINDING);
|
||||
settings.put("DB Mysql Enabled", "" + Settings.DB.USE_MYSQL);
|
||||
settings.put("DB SQLite Enabled", "" + Settings.DB.USE_SQLITE);
|
||||
settings.put("Auto Clear Enabled", "" + Settings.AUTO_CLEAR);
|
||||
settings.put("Auto Clear Days", "" + Settings.AUTO_CLEAR_DAYS);
|
||||
settings.put("Schematics Save Path", "" + Settings.SCHEMATIC_SAVE_PATH);
|
||||
settings.put("API Location", "" + Settings.API_URL);
|
||||
for (final Entry<String, String> setting : settings.entrySet()) {
|
||||
log(C.PREFIX.s() + String.format("&cKey: &6%s&c, Value: &6%s", setting.getKey(), setting.getValue()));
|
||||
Settings.DB.USE_MYSQL = storage.getBoolean("mysql.use");
|
||||
Settings.DB.USER = storage.getString("mysql.user");
|
||||
Settings.DB.PASSWORD = storage.getString("mysql.password");
|
||||
Settings.DB.HOST_NAME = storage.getString("mysql.host");
|
||||
Settings.DB.PORT = storage.getString("mysql.port");
|
||||
Settings.DB.DATABASE = storage.getString("mysql.database");
|
||||
Settings.DB.USE_SQLITE = storage.getBoolean("sqlite.use");
|
||||
Settings.DB.SQLITE_DB = storage.getString("sqlite.db");
|
||||
Settings.DB.PREFIX = storage.getString("prefix");
|
||||
Settings.METRICS = config.getBoolean("metrics");
|
||||
Settings.AUTO_CLEAR = config.getBoolean("clear.auto.enabled");
|
||||
Settings.AUTO_CLEAR_DAYS = config.getInt("clear.auto.days");
|
||||
Settings.DELETE_PLOTS_ON_BAN = config.getBoolean("clear.on.ban");
|
||||
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 = ChatColor.getByChar(style.getString("color.1"));
|
||||
C.COLOR_2 = ChatColor.getByChar(style.getString("color.2"));
|
||||
C.COLOR_3 = ChatColor.getByChar(style.getString("color.3"));
|
||||
C.COLOR_4 = ChatColor.getByChar(style.getString("color.4"));
|
||||
if (Settings.DEBUG) {
|
||||
final Map<String, String> settings = new HashMap<>();
|
||||
settings.put("Kill Road Mobs", "" + Settings.KILL_ROAD_MOBS);
|
||||
settings.put("Use Metrics", "" + Settings.METRICS);
|
||||
settings.put("Delete Plots On Ban", "" + Settings.DELETE_PLOTS_ON_BAN);
|
||||
settings.put("Mob Pathfinding", "" + Settings.MOB_PATHFINDING);
|
||||
settings.put("DB Mysql Enabled", "" + Settings.DB.USE_MYSQL);
|
||||
settings.put("DB SQLite Enabled", "" + Settings.DB.USE_SQLITE);
|
||||
settings.put("Auto Clear Enabled", "" + Settings.AUTO_CLEAR);
|
||||
settings.put("Auto Clear Days", "" + Settings.AUTO_CLEAR_DAYS);
|
||||
settings.put("Schematics Save Path", "" + Settings.SCHEMATIC_SAVE_PATH);
|
||||
settings.put("API Location", "" + Settings.API_URL);
|
||||
for (final Entry<String, String> setting : settings.entrySet()) {
|
||||
log(C.PREFIX.s() + String.format("&cKey: &6%s&c, Value: &6%s", setting.getKey(), setting.getValue()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void setupStyle() {
|
||||
style.set("version", VERSION);
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
@ -121,7 +120,6 @@ public class Auto extends SubCommand {
|
||||
// return false;
|
||||
}
|
||||
}
|
||||
|
||||
if ((size_x * size_z) > Settings.MAX_AUTO_SIZE) {
|
||||
PlayerFunctions.sendMessage(plr, C.CANT_CLAIM_MORE_PLOTS_NUM, Settings.MAX_AUTO_SIZE + "");
|
||||
return false;
|
||||
@ -161,42 +159,40 @@ public class Auto extends SubCommand {
|
||||
}
|
||||
// }
|
||||
}
|
||||
String worldname = world.getName();
|
||||
PlotWorld plotworld = PlotSquared.getWorldSettings(worldname);
|
||||
final String worldname = world.getName();
|
||||
final PlotWorld plotworld = PlotSquared.getWorldSettings(worldname);
|
||||
if (plotworld.TYPE == 2) {
|
||||
Location loc = BukkitUtil.getLocation(plr);
|
||||
Plot plot = PlotHelper.getCurrentPlot(new com.intellectualcrafters.plot.object.Location(worldname, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()));
|
||||
if (plot == null) {
|
||||
return sendMessage(plr, C.NOT_IN_PLOT);
|
||||
}
|
||||
PlotCluster cluster = ClusterManager.getCluster(loc);
|
||||
// Must be standing in a cluster
|
||||
if (cluster == null) {
|
||||
final Location loc = BukkitUtil.getLocation(plr);
|
||||
final Plot plot = PlotHelper.getCurrentPlot(new com.intellectualcrafters.plot.object.Location(worldname, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ()));
|
||||
if (plot == null) {
|
||||
return sendMessage(plr, C.NOT_IN_PLOT);
|
||||
}
|
||||
final PlotCluster cluster = ClusterManager.getCluster(loc);
|
||||
// Must be standing in a cluster
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_CLUSTER);
|
||||
return false;
|
||||
}
|
||||
PlotId bot = cluster.getP1();
|
||||
PlotId top = cluster.getP2();
|
||||
PlotId origin = new PlotId((bot.x + top.x) / 2, (bot.y + top.y) / 2);
|
||||
PlotId id = new PlotId(0, 0);
|
||||
int width = Math.max(top.x - bot.x + 1, top.y - bot.y + 1);
|
||||
int max = width * width;
|
||||
//
|
||||
for (int i = 0; i <= max; i++) {
|
||||
PlotId currentId = new PlotId(origin.x + id.x, origin.y + id.y);
|
||||
Plot current = PlotHelper.getPlot(worldname, currentId);
|
||||
if (current != null && (current.hasOwner() == false) && (current.settings.isMerged() == false) && cluster.equals(ClusterManager.getCluster(current))) {
|
||||
Claim.claimPlot(plr, current, true, true);
|
||||
return true;
|
||||
}
|
||||
id = getNextPlot(id, 1);
|
||||
}
|
||||
|
||||
// no free plots
|
||||
PlayerFunctions.sendMessage(plr, C.NO_FREE_PLOTS);
|
||||
return false;
|
||||
final PlotId bot = cluster.getP1();
|
||||
final PlotId top = cluster.getP2();
|
||||
final PlotId origin = new PlotId((bot.x + top.x) / 2, (bot.y + top.y) / 2);
|
||||
PlotId id = new PlotId(0, 0);
|
||||
final int width = Math.max((top.x - bot.x) + 1, (top.y - bot.y) + 1);
|
||||
final int max = width * width;
|
||||
//
|
||||
for (int i = 0; i <= max; i++) {
|
||||
final PlotId currentId = new PlotId(origin.x + id.x, origin.y + id.y);
|
||||
final Plot current = PlotHelper.getPlot(worldname, currentId);
|
||||
if ((current != null) && (current.hasOwner() == false) && (current.settings.isMerged() == false) && cluster.equals(ClusterManager.getCluster(current))) {
|
||||
Claim.claimPlot(plr, current, true, true);
|
||||
return true;
|
||||
}
|
||||
id = getNextPlot(id, 1);
|
||||
}
|
||||
// no free plots
|
||||
PlayerFunctions.sendMessage(plr, C.NO_FREE_PLOTS);
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean br = false;
|
||||
if ((size_x == 1) && (size_z == 1)) {
|
||||
while (!br) {
|
||||
@ -240,11 +236,10 @@ public class Auto extends SubCommand {
|
||||
return true;
|
||||
}
|
||||
|
||||
public PlotId getLastPlot(String world) {
|
||||
if (PlotHelper.lastPlot == null || !PlotHelper.lastPlot.containsKey(world)) {
|
||||
PlotHelper.lastPlot.put(world, new PlotId(0,0));
|
||||
}
|
||||
return PlotHelper.lastPlot.get(world);
|
||||
public PlotId getLastPlot(final String world) {
|
||||
if ((PlotHelper.lastPlot == null) || !PlotHelper.lastPlot.containsKey(world)) {
|
||||
PlotHelper.lastPlot.put(world, new PlotId(0, 0));
|
||||
}
|
||||
return PlotHelper.lastPlot.get(world);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -12,7 +12,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class Ban extends SubCommand {
|
||||
|
||||
public Ban() {
|
||||
super(Command.BAN, "Alias for /plot denied add", "/plot ban [player]", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
@ -42,7 +41,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class Buy extends SubCommand {
|
||||
|
||||
public Buy() {
|
||||
super(Command.BUY, "Buy the plot you are standing on", "b", CommandCategory.CLAIMING, true);
|
||||
}
|
||||
@ -52,22 +50,20 @@ public class Buy extends SubCommand {
|
||||
if (!PlotSquared.useEconomy) {
|
||||
return sendMessage(plr, C.ECON_DISABLED);
|
||||
}
|
||||
World world = plr.getWorld();
|
||||
final World world = plr.getWorld();
|
||||
if (!PlotSquared.isPlotWorld(world)) {
|
||||
return sendMessage(plr, C.NOT_IN_PLOT_WORLD);
|
||||
}
|
||||
Plot plot;
|
||||
if (args.length > 0) {
|
||||
try {
|
||||
String[] split = args[0].split(";");
|
||||
PlotId id = new PlotId(Integer.parseInt(split[0]), Integer.parseInt(split[1]));
|
||||
final String[] split = args[0].split(";");
|
||||
final PlotId id = new PlotId(Integer.parseInt(split[0]), Integer.parseInt(split[1]));
|
||||
plot = PlotHelper.getPlot(world, id);
|
||||
}
|
||||
catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
return sendMessage(plr, C.NOT_VALID_PLOT_ID);
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
plot = PlayerFunctions.getCurrentPlot(plr);
|
||||
}
|
||||
if (plot == null) {
|
||||
@ -82,16 +78,16 @@ public class Buy extends SubCommand {
|
||||
if (plot.owner.equals(UUIDHandler.getUUID(plr))) {
|
||||
return sendMessage(plr, C.CANNOT_BUY_OWN);
|
||||
}
|
||||
Flag flag = FlagManager.getPlotFlag(plot, "price");
|
||||
final Flag flag = FlagManager.getPlotFlag(plot, "price");
|
||||
if (flag == null) {
|
||||
return sendMessage(plr, C.NOT_FOR_SALE);
|
||||
}
|
||||
double initPrice = (double) flag.getValue();
|
||||
double price = initPrice;
|
||||
PlotId id = plot.id;
|
||||
PlotId id2 = PlayerFunctions.getTopPlot(world, plot).id;
|
||||
int size = PlayerFunctions.getPlotSelectionIds(id, id2).size();
|
||||
PlotWorld plotworld = PlotSquared.getWorldSettings(world);
|
||||
final PlotId id = plot.id;
|
||||
final PlotId id2 = PlayerFunctions.getTopPlot(world, plot).id;
|
||||
final int size = PlayerFunctions.getPlotSelectionIds(id, id2).size();
|
||||
final PlotWorld plotworld = PlotSquared.getWorldSettings(world);
|
||||
if (plotworld.USE_ECONOMY) {
|
||||
price += plotworld.PLOT_PRICE * size;
|
||||
initPrice += plotworld.SELL_PRICE * size;
|
||||
@ -104,7 +100,7 @@ public class Buy extends SubCommand {
|
||||
economy.withdrawPlayer(plr, price);
|
||||
sendMessage(plr, C.REMOVED_BALANCE, price + "");
|
||||
economy.depositPlayer(UUIDHandler.uuidWrapper.getOfflinePlayer(plot.owner), initPrice);
|
||||
Player owner = UUIDHandler.uuidWrapper.getPlayer(plot.owner);
|
||||
final Player owner = UUIDHandler.uuidWrapper.getPlayer(plot.owner);
|
||||
if (owner != null) {
|
||||
sendMessage(plr, C.PLOT_SOLD, plot.id + "", plr.getName(), initPrice + "");
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
@ -41,7 +40,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class Claim extends SubCommand {
|
||||
|
||||
public Claim() {
|
||||
super(Command.CLAIM, "Claim the current plot you're standing on.", "claim", CommandCategory.CLAIMING, true);
|
||||
}
|
||||
@ -51,9 +49,9 @@ public class Claim extends SubCommand {
|
||||
}
|
||||
|
||||
public static boolean claimPlot(final Player player, final Plot plot, final boolean teleport, final String schematic, final boolean auto) {
|
||||
if (plot.hasOwner() || plot.settings.isMerged()) {
|
||||
return false;
|
||||
}
|
||||
if (plot.hasOwner() || plot.settings.isMerged()) {
|
||||
return false;
|
||||
}
|
||||
final PlayerClaimPlotEvent event = new PlayerClaimPlotEvent(player, plot, auto);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (!event.isCancelled()) {
|
||||
@ -63,11 +61,9 @@ public class Claim extends SubCommand {
|
||||
if (teleport) {
|
||||
PlotSquared.teleportPlayer(player, BukkitUtil.getLocation(entity), plot);
|
||||
}
|
||||
World world = plot.world;
|
||||
final World world = plot.world;
|
||||
final PlotWorld plotworld = PlotSquared.getWorldSettings(world);
|
||||
|
||||
final Plot plot2 = PlotSquared.getPlots(player.getWorld()).get(plot.id);
|
||||
|
||||
if (plotworld.SCHEMATIC_ON_CLAIM) {
|
||||
SchematicHandler.Schematic sch;
|
||||
if (schematic.equals("")) {
|
||||
@ -124,7 +120,6 @@ public class Claim extends SubCommand {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return !claimPlot(plr, plot, false, schematic, false) || sendMessage(plr, C.PLOT_NOT_CLAIMED);
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@ -34,7 +33,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
public class Clear extends SubCommand {
|
||||
|
||||
public Clear() {
|
||||
super(Command.CLEAR, "Clear a plot", "clear", CommandCategory.ACTIONS, false);
|
||||
}
|
||||
@ -66,7 +64,6 @@ public class Clear extends SubCommand {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!PlayerFunctions.isInPlot(plr)) {
|
||||
return sendMessage(plr, C.NOT_IN_PLOT);
|
||||
}
|
||||
@ -79,11 +76,8 @@ public class Clear extends SubCommand {
|
||||
}
|
||||
assert plot != null;
|
||||
plot.clear(plr, false);
|
||||
|
||||
// sign
|
||||
|
||||
// wall
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -28,7 +27,6 @@ import com.intellectualcrafters.plot.object.PlotId;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class Clipboard extends SubCommand {
|
||||
|
||||
public Clipboard() {
|
||||
super(Command.CLIPBOARD, "View information about your current copy", "clipboard", CommandCategory.INFO, true);
|
||||
}
|
||||
@ -39,17 +37,12 @@ public class Clipboard extends SubCommand {
|
||||
return sendMessage(plr, C.NO_CLIPBOARD);
|
||||
}
|
||||
final PlotSelection selection = currentSelection.get(plr.getName());
|
||||
|
||||
final PlotId plotId = selection.getPlot().getId();
|
||||
final int width = selection.getWidth();
|
||||
final int total = selection.getBlocks().length;
|
||||
|
||||
String message = C.CLIPBOARD_INFO.s();
|
||||
|
||||
message = message.replace("%id", plotId.toString()).replace("%width", width + "").replace("%total", total + "");
|
||||
|
||||
PlayerFunctions.sendMessage(plr, message);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -47,7 +46,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
public class Cluster extends SubCommand {
|
||||
|
||||
public Cluster() {
|
||||
super(Command.CLUSTER, "Manage a plot cluster", "cluster", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -55,13 +53,12 @@ public class Cluster extends SubCommand {
|
||||
@Override
|
||||
public boolean execute(final Player plr, final String... args) {
|
||||
// list, create, delete, resize, invite, kick, leave, helpers, tp, sethome
|
||||
|
||||
if (args.length == 0) {
|
||||
// return arguments
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_AVAILABLE_ARGS);
|
||||
return false;
|
||||
}
|
||||
String sub = args[0].toLowerCase();
|
||||
final String sub = args[0].toLowerCase();
|
||||
switch (sub) {
|
||||
case "l":
|
||||
case "list": {
|
||||
@ -73,21 +70,18 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot cluster list");
|
||||
return false;
|
||||
}
|
||||
HashSet<PlotCluster> clusters = ClusterManager.getClusters(plr.getWorld());
|
||||
final HashSet<PlotCluster> clusters = ClusterManager.getClusters(plr.getWorld());
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_LIST_HEADING, clusters.size() + "");
|
||||
for (PlotCluster cluster : clusters) {
|
||||
for (final PlotCluster cluster : clusters) {
|
||||
// Ignore unmanaged clusters
|
||||
String name = "'" + cluster.getName() + "' : " + cluster.toString();
|
||||
final String name = "'" + cluster.getName() + "' : " + cluster.toString();
|
||||
if (UUIDHandler.getUUID(plr).equals(cluster.owner)) {
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_LIST_ELEMENT, "&a" + name);
|
||||
}
|
||||
else if (cluster.helpers.contains(UUIDHandler.getUUID(plr))) {
|
||||
} else if (cluster.helpers.contains(UUIDHandler.getUUID(plr))) {
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_LIST_ELEMENT, "&3" + name);
|
||||
}
|
||||
else if (cluster.invited.contains(UUIDHandler.getUUID(plr))) {
|
||||
} else if (cluster.invited.contains(UUIDHandler.getUUID(plr))) {
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_LIST_ELEMENT, "&9" + name);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_LIST_ELEMENT, cluster.toString());
|
||||
}
|
||||
}
|
||||
@ -100,36 +94,36 @@ public class Cluster extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
if (args.length != 4) {
|
||||
PlotId id = ClusterManager.estimatePlotId(plr.getLocation());
|
||||
final PlotId id = ClusterManager.estimatePlotId(plr.getLocation());
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot cluster create <name> <id-bot> <id-top>");
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_CURRENT_PLOTID, "" + id);
|
||||
return false;
|
||||
}
|
||||
// check pos1 / pos2
|
||||
PlotId pos1 = PlotHelper.parseId(args[2]);
|
||||
PlotId pos2 = PlotHelper.parseId(args[3]);
|
||||
if (pos1 == null || pos2 == null) {
|
||||
final PlotId pos1 = PlotHelper.parseId(args[2]);
|
||||
final PlotId pos2 = PlotHelper.parseId(args[3]);
|
||||
if ((pos1 == null) || (pos2 == null)) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_VALID_PLOT_ID);
|
||||
return false;
|
||||
}
|
||||
// check if name is taken
|
||||
String name = args[1];
|
||||
for (PlotCluster cluster : ClusterManager.getClusters(plr.getWorld())) {
|
||||
final String name = args[1];
|
||||
for (final PlotCluster cluster : ClusterManager.getClusters(plr.getWorld())) {
|
||||
if (name.equals(cluster.getName())) {
|
||||
PlayerFunctions.sendMessage(plr, C.ALIAS_IS_TAKEN);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//check if overlap
|
||||
PlotClusterId id = new PlotClusterId(pos1, pos2);
|
||||
HashSet<PlotCluster> intersects = ClusterManager.getIntersects(plr.getWorld().getName(), id);
|
||||
if (intersects.size() > 0 || pos2.x < pos1.x || pos2.y < pos1.y) {
|
||||
final PlotClusterId id = new PlotClusterId(pos1, pos2);
|
||||
final HashSet<PlotCluster> intersects = ClusterManager.getIntersects(plr.getWorld().getName(), id);
|
||||
if ((intersects.size() > 0) || (pos2.x < pos1.x) || (pos2.y < pos1.y)) {
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_INTERSECTION, intersects.size() + "");
|
||||
return false;
|
||||
}
|
||||
// create cluster
|
||||
String world = plr.getWorld().getName();
|
||||
PlotCluster cluster = new PlotCluster(world, pos1, pos2, UUIDHandler.getUUID(plr));
|
||||
final String world = plr.getWorld().getName();
|
||||
final PlotCluster cluster = new PlotCluster(world, pos1, pos2, UUIDHandler.getUUID(plr));
|
||||
cluster.settings.setAlias(name);
|
||||
DBFunc.createCluster(world, cluster);
|
||||
if (!ClusterManager.clusters.containsKey(world)) {
|
||||
@ -137,8 +131,8 @@ public class Cluster extends SubCommand {
|
||||
}
|
||||
ClusterManager.clusters.get(world).add(cluster);
|
||||
// Add any existing plots to the current cluster
|
||||
for (Plot plot : PlotSquared.getPlots(plr.getWorld()).values()) {
|
||||
PlotCluster current = ClusterManager.getCluster(plot);
|
||||
for (final Plot plot : PlotSquared.getPlots(plr.getWorld()).values()) {
|
||||
final PlotCluster current = ClusterManager.getCluster(plot);
|
||||
if (cluster.equals(current) && !cluster.hasRights(plot.owner)) {
|
||||
cluster.invited.add(plot.owner);
|
||||
DBFunc.setInvited(world, cluster, plot.owner);
|
||||
@ -158,7 +152,7 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.cluster.delete");
|
||||
return false;
|
||||
}
|
||||
if (args.length != 1 && args.length != 2) {
|
||||
if ((args.length != 1) && (args.length != 2)) {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot cluster delete [name]");
|
||||
return false;
|
||||
}
|
||||
@ -169,8 +163,7 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_CLUSTER, args[1]);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_CLUSTER);
|
||||
@ -183,23 +176,23 @@ public class Cluster extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
PlotWorld plotworld = PlotSquared.getWorldSettings(plr.getWorld());
|
||||
final PlotWorld plotworld = PlotSquared.getWorldSettings(plr.getWorld());
|
||||
if (plotworld.TYPE == 2) {
|
||||
ArrayList<Plot> toRemove = new ArrayList<>();
|
||||
for (Plot plot : PlotSquared.getPlots(plr.getWorld()).values()) {
|
||||
PlotCluster other = ClusterManager.getCluster(plot);
|
||||
final ArrayList<Plot> toRemove = new ArrayList<>();
|
||||
for (final Plot plot : PlotSquared.getPlots(plr.getWorld()).values()) {
|
||||
final PlotCluster other = ClusterManager.getCluster(plot);
|
||||
if (cluster.equals(other)) {
|
||||
toRemove.add(plot);
|
||||
}
|
||||
}
|
||||
for (Plot plot : toRemove) {
|
||||
for (final Plot plot : toRemove) {
|
||||
DBFunc.delete(plot.world, plot);
|
||||
}
|
||||
}
|
||||
DBFunc.delete(cluster);
|
||||
if (plotworld.TYPE == 2) {
|
||||
for (Iterator<BlockPopulator> iterator = plr.getWorld().getPopulators().iterator(); iterator.hasNext();) {
|
||||
BlockPopulator populator = iterator.next();
|
||||
for (final Iterator<BlockPopulator> iterator = plr.getWorld().getPopulators().iterator(); iterator.hasNext();) {
|
||||
final BlockPopulator populator = iterator.next();
|
||||
if (populator instanceof AugmentedPopulator) {
|
||||
if (((AugmentedPopulator) populator).cluster.equals(cluster)) {
|
||||
iterator.remove();
|
||||
@ -207,7 +200,7 @@ public class Cluster extends SubCommand {
|
||||
}
|
||||
}
|
||||
}
|
||||
for (String set : ClusterManager.clusters.keySet()) {
|
||||
for (final String set : ClusterManager.clusters.keySet()) {
|
||||
}
|
||||
ClusterManager.last = null;
|
||||
ClusterManager.clusters.get(cluster.world).remove(cluster);
|
||||
@ -226,14 +219,14 @@ public class Cluster extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
// check pos1 / pos2
|
||||
PlotId pos1 = PlotHelper.parseId(args[1]);
|
||||
PlotId pos2 = PlotHelper.parseId(args[2]);
|
||||
if (pos1 == null || pos2 == null) {
|
||||
final PlotId pos1 = PlotHelper.parseId(args[1]);
|
||||
final PlotId pos2 = PlotHelper.parseId(args[2]);
|
||||
if ((pos1 == null) || (pos2 == null)) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_VALID_PLOT_ID);
|
||||
return false;
|
||||
}
|
||||
// check if in cluster
|
||||
PlotCluster cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
final PlotCluster cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_CLUSTER);
|
||||
return false;
|
||||
@ -245,8 +238,8 @@ public class Cluster extends SubCommand {
|
||||
}
|
||||
}
|
||||
//check if overlap
|
||||
PlotClusterId id = new PlotClusterId(pos1, pos2);
|
||||
HashSet<PlotCluster> intersects = ClusterManager.getIntersects(plr.getWorld().getName(), id);
|
||||
final PlotClusterId id = new PlotClusterId(pos1, pos2);
|
||||
final HashSet<PlotCluster> intersects = ClusterManager.getIntersects(plr.getWorld().getName(), id);
|
||||
if (intersects.size() > 1) {
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_INTERSECTION, (intersects.size() - 1) + "");
|
||||
return false;
|
||||
@ -263,7 +256,7 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.cluster.regen");
|
||||
return false;
|
||||
}
|
||||
if (args.length != 1 && args.length != 2) {
|
||||
if ((args.length != 1) && (args.length != 2)) {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot cluster regen [name]");
|
||||
return false;
|
||||
}
|
||||
@ -274,8 +267,7 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_CLUSTER, args[1]);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_CLUSTER);
|
||||
@ -304,7 +296,7 @@ public class Cluster extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
// check if in cluster
|
||||
PlotCluster cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
final PlotCluster cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_CLUSTER);
|
||||
return false;
|
||||
@ -316,7 +308,7 @@ public class Cluster extends SubCommand {
|
||||
}
|
||||
}
|
||||
// check uuid
|
||||
UUID uuid = UUIDHandler.getUUID(args[1]);
|
||||
final UUID uuid = UUIDHandler.getUUID(args[1]);
|
||||
if (uuid == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_PLAYER, args[1]);
|
||||
return false;
|
||||
@ -324,9 +316,9 @@ public class Cluster extends SubCommand {
|
||||
if (!cluster.hasRights(uuid)) {
|
||||
// add the user if not added
|
||||
cluster.invited.add(uuid);
|
||||
String world = plr.getWorld().getName();
|
||||
final String world = plr.getWorld().getName();
|
||||
DBFunc.setInvited(world, cluster, uuid);
|
||||
Player player = UUIDHandler.uuidWrapper.getPlayer(uuid);
|
||||
final Player player = UUIDHandler.uuidWrapper.getPlayer(uuid);
|
||||
if (player != null) {
|
||||
PlayerFunctions.sendMessage(player, C.CLUSTER_INVITED, cluster.getName());
|
||||
}
|
||||
@ -345,7 +337,7 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot cluster kick <player>");
|
||||
return false;
|
||||
}
|
||||
PlotCluster cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
final PlotCluster cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_CLUSTER);
|
||||
return false;
|
||||
@ -357,7 +349,7 @@ public class Cluster extends SubCommand {
|
||||
}
|
||||
}
|
||||
// check uuid
|
||||
UUID uuid = UUIDHandler.getUUID(args[1]);
|
||||
final UUID uuid = UUIDHandler.getUUID(args[1]);
|
||||
if (uuid == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_PLAYER, args[1]);
|
||||
return false;
|
||||
@ -373,14 +365,14 @@ public class Cluster extends SubCommand {
|
||||
}
|
||||
cluster.invited.remove(uuid);
|
||||
DBFunc.removeInvited(cluster, uuid);
|
||||
Player player = UUIDHandler.uuidWrapper.getPlayer(uuid);
|
||||
final Player player = UUIDHandler.uuidWrapper.getPlayer(uuid);
|
||||
if (player != null) {
|
||||
PlayerFunctions.sendMessage(player, C.CLUSTER_REMOVED, cluster.getName());
|
||||
}
|
||||
for (Plot plot : PlotSquared.getPlots(plr.getWorld(), uuid)) {
|
||||
PlotCluster current = ClusterManager.getCluster(plot);
|
||||
if (current != null && current.equals(cluster)) {
|
||||
String world = plr.getWorld().getName();
|
||||
for (final Plot plot : PlotSquared.getPlots(plr.getWorld(), uuid)) {
|
||||
final PlotCluster current = ClusterManager.getCluster(plot);
|
||||
if ((current != null) && current.equals(cluster)) {
|
||||
final String world = plr.getWorld().getName();
|
||||
DBFunc.delete(world, plot);
|
||||
}
|
||||
}
|
||||
@ -393,7 +385,7 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.cluster.leave");
|
||||
return false;
|
||||
}
|
||||
if (args.length != 1 && args.length != 2) {
|
||||
if ((args.length != 1) && (args.length != 2)) {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot cluster leave [name]");
|
||||
return false;
|
||||
}
|
||||
@ -404,15 +396,14 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_CLUSTER, args[1]);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_CLUSTER);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
UUID uuid = UUIDHandler.getUUID(plr);
|
||||
final UUID uuid = UUIDHandler.getUUID(plr);
|
||||
if (!cluster.hasRights(uuid)) {
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_NOT_ADDED);
|
||||
return false;
|
||||
@ -428,10 +419,10 @@ public class Cluster extends SubCommand {
|
||||
cluster.invited.remove(uuid);
|
||||
DBFunc.removeInvited(cluster, uuid);
|
||||
PlayerFunctions.sendMessage(plr, C.CLUSTER_REMOVED, cluster.getName());
|
||||
for (Plot plot : PlotSquared.getPlots(plr.getWorld(), uuid)) {
|
||||
PlotCluster current = ClusterManager.getCluster(plot);
|
||||
if (current != null && current.equals(cluster)) {
|
||||
String world = plr.getWorld().getName();
|
||||
for (final Plot plot : PlotSquared.getPlots(plr.getWorld(), uuid)) {
|
||||
final PlotCluster current = ClusterManager.getCluster(plot);
|
||||
if ((current != null) && current.equals(cluster)) {
|
||||
final String world = plr.getWorld().getName();
|
||||
DBFunc.delete(world, plot);
|
||||
}
|
||||
}
|
||||
@ -448,12 +439,12 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot cluster helpers <add|remove> <player>");
|
||||
return false;
|
||||
}
|
||||
PlotCluster cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
final PlotCluster cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_CLUSTER);
|
||||
return false;
|
||||
}
|
||||
UUID uuid = UUIDHandler.getUUID(args[2]);
|
||||
final UUID uuid = UUIDHandler.getUUID(args[2]);
|
||||
if (uuid == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_PLAYER, args[1]);
|
||||
return false;
|
||||
@ -480,12 +471,12 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot cluster tp <name>");
|
||||
return false;
|
||||
}
|
||||
PlotCluster cluster = ClusterManager.getCluster(plr.getWorld().getName(), args[1]);
|
||||
final PlotCluster cluster = ClusterManager.getCluster(plr.getWorld().getName(), args[1]);
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_CLUSTER, args[1]);
|
||||
return false;
|
||||
}
|
||||
UUID uuid = UUIDHandler.getUUID(plr);
|
||||
final UUID uuid = UUIDHandler.getUUID(plr);
|
||||
if (!cluster.hasRights(uuid)) {
|
||||
if (!BukkitMain.hasPermission(plr, "plots.cluster.tp.other")) {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.cluster.tp.other");
|
||||
@ -503,7 +494,7 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.cluster.info");
|
||||
return false;
|
||||
}
|
||||
if (args.length != 1 && args.length != 2) {
|
||||
if ((args.length != 1) && (args.length != 2)) {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot cluster info [name]");
|
||||
return false;
|
||||
}
|
||||
@ -514,30 +505,27 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_CLUSTER, args[1]);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_CLUSTER);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
String id = cluster.toString();
|
||||
final String id = cluster.toString();
|
||||
String owner = UUIDHandler.getName(cluster.owner);
|
||||
if (owner == null) {
|
||||
owner = "unknown";
|
||||
}
|
||||
String name = cluster.getName();
|
||||
String size = (cluster.getP2().x - cluster.getP1().x + 1) + "x" + (cluster.getP2().y - cluster.getP1().y + 1);
|
||||
String rights = cluster.hasRights(UUIDHandler.getUUID(plr)) + "";
|
||||
|
||||
final String name = cluster.getName();
|
||||
final String size = ((cluster.getP2().x - cluster.getP1().x) + 1) + "x" + ((cluster.getP2().y - cluster.getP1().y) + 1);
|
||||
final String rights = cluster.hasRights(UUIDHandler.getUUID(plr)) + "";
|
||||
String message = C.CLUSTER_INFO.s();
|
||||
message = message.replaceAll("%id%", id);
|
||||
message = message.replaceAll("%owner%", owner);
|
||||
message = message.replaceAll("%name%", name);
|
||||
message = message.replaceAll("%size%", size);
|
||||
message = message.replaceAll("%rights%", rights);
|
||||
|
||||
PlayerFunctions.sendMessage(plr, message);
|
||||
return true;
|
||||
}
|
||||
@ -548,11 +536,11 @@ public class Cluster extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.cluster.sethome");
|
||||
return false;
|
||||
}
|
||||
if (args.length != 1 && args.length != 2) {
|
||||
if ((args.length != 1) && (args.length != 2)) {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot cluster sethome");
|
||||
return false;
|
||||
}
|
||||
PlotCluster cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
final PlotCluster cluster = ClusterManager.getCluster(plr.getLocation());
|
||||
if (cluster == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_CLUSTER);
|
||||
return false;
|
||||
@ -563,10 +551,10 @@ public class Cluster extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Location base = ClusterManager.getClusterBottom(cluster);
|
||||
final Location base = ClusterManager.getClusterBottom(cluster);
|
||||
base.setY(0);
|
||||
Location relative = plr.getLocation().subtract(base);
|
||||
BlockLoc blockloc = new BlockLoc(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ());
|
||||
final Location relative = plr.getLocation().subtract(base);
|
||||
final BlockLoc blockloc = new BlockLoc(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ());
|
||||
cluster.settings.setPosition(blockloc);
|
||||
DBFunc.setPosition(cluster, relative.getBlockX() + "," + relative.getBlockY() + "," + relative.getBlockZ());
|
||||
return PlayerFunctions.sendMessage(plr, C.POSITION_SET);
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
/**
|
||||
@ -28,7 +27,6 @@ package com.intellectualcrafters.plot.commands;
|
||||
* @author Empire92
|
||||
*/
|
||||
public enum Command {
|
||||
|
||||
// TODO new commands
|
||||
// (economy)
|
||||
// - /plot buy
|
||||
@ -39,7 +37,7 @@ public enum Command {
|
||||
FLAG("flag", "f"),
|
||||
TARGET("target"),
|
||||
CLUSTER("cluster", "clusters"),
|
||||
BUY("buy","b"),
|
||||
BUY("buy", "b"),
|
||||
CREATEROADSCHEMATIC("createroadschematic"),
|
||||
DEBUGROADREGEN("debugroadregen"),
|
||||
DEBUGFIXFLAGS("debugfixflags"),
|
||||
@ -77,17 +75,14 @@ public enum Command {
|
||||
UNBAN("unban", "unblock"),
|
||||
DATABASE("database", "convert"),
|
||||
TP("tp", "tp");
|
||||
|
||||
/**
|
||||
* Command
|
||||
*/
|
||||
private final String command;
|
||||
|
||||
/**
|
||||
* Alias
|
||||
*/
|
||||
private final String alias;
|
||||
|
||||
/**
|
||||
* Permission Node
|
||||
*/
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -31,7 +30,6 @@ import com.intellectualcrafters.plot.BukkitMain;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class CommandPermission {
|
||||
|
||||
/**
|
||||
* Permission Node
|
||||
*/
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.Arrays;
|
||||
@ -35,7 +34,6 @@ import com.intellectualcrafters.plot.object.PlotComment;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class Comment extends SubCommand {
|
||||
|
||||
public Comment() {
|
||||
super(Command.COMMENT, "Comment on a plot", "comment", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -49,11 +47,8 @@ public class Comment extends SubCommand {
|
||||
if (!plot.hasOwner()) {
|
||||
return sendMessage(plr, C.NOT_IN_PLOT);
|
||||
}
|
||||
|
||||
final List<String> recipients = Arrays.asList("admin", "owner", "helper", "trusted", "everyone");
|
||||
|
||||
if ((args.length > 1) && recipients.contains(args[0].toLowerCase())) {
|
||||
|
||||
if (BukkitMain.hasPermission(plr, "plots.comment." + args[0].toLowerCase())) {
|
||||
final String text = StringUtils.join(Arrays.copyOfRange(args, 1, args.length), " ");
|
||||
final PlotComment comment = new PlotComment(text, plr.getName(), recipients.indexOf(args[0].toLowerCase()));
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -40,9 +39,7 @@ import com.intellectualcrafters.plot.util.PlotHelper;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class Condense extends SubCommand {
|
||||
|
||||
public static boolean TASK = false;
|
||||
private static int TASK_ID = 0;
|
||||
|
||||
public Condense() {
|
||||
super("condense", "plots.admin", "Condense a plotworld", "condense", "", CommandCategory.DEBUG, false);
|
||||
@ -54,13 +51,13 @@ public class Condense extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, (C.NOT_CONSOLE));
|
||||
return false;
|
||||
}
|
||||
if (args.length != 2 && args.length != 3) {
|
||||
if ((args.length != 2) && (args.length != 3)) {
|
||||
PlayerFunctions.sendMessage(plr, "/plot condense <world> <start|stop|info> [radius]");
|
||||
return false;
|
||||
}
|
||||
String worldname = args[0];
|
||||
final String worldname = args[0];
|
||||
final World world = Bukkit.getWorld(worldname);
|
||||
if (world == null || !PlotSquared.isPlotWorld(worldname)) {
|
||||
if ((world == null) || !PlotSquared.isPlotWorld(worldname)) {
|
||||
PlayerFunctions.sendMessage(plr, "INVALID WORLD");
|
||||
return false;
|
||||
}
|
||||
@ -82,19 +79,19 @@ public class Condense extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, "INVALID RADIUS");
|
||||
return false;
|
||||
}
|
||||
int radius = Integer.parseInt(args[2]);
|
||||
Collection<Plot> plots = PlotSquared.getPlots(worldname).values();
|
||||
int size = plots.size();
|
||||
int minimum_radius = (int) Math.ceil((Math.sqrt(size)/2) + 1);
|
||||
final int radius = Integer.parseInt(args[2]);
|
||||
final Collection<Plot> plots = PlotSquared.getPlots(worldname).values();
|
||||
final int size = plots.size();
|
||||
final int minimum_radius = (int) Math.ceil((Math.sqrt(size) / 2) + 1);
|
||||
if (radius < minimum_radius) {
|
||||
PlayerFunctions.sendMessage(plr, "RADIUS TOO SMALL");
|
||||
return false;
|
||||
}
|
||||
final List<PlotId> to_move = new ArrayList<>(getPlots(plots, radius));
|
||||
final List<PlotId> free = new ArrayList<>();
|
||||
PlotId start = new PlotId(0,0);
|
||||
while (start.x <= minimum_radius && start.y <= minimum_radius) {
|
||||
Plot plot = PlotHelper.getPlot(world, start);
|
||||
PlotId start = new PlotId(0, 0);
|
||||
while ((start.x <= minimum_radius) && (start.y <= minimum_radius)) {
|
||||
final Plot plot = PlotHelper.getPlot(world, start);
|
||||
if (!plot.hasOwner()) {
|
||||
free.add(plot.id);
|
||||
}
|
||||
@ -110,25 +107,25 @@ public class Condense extends SubCommand {
|
||||
to_move.remove(0);
|
||||
free.remove(0);
|
||||
int index = 0;
|
||||
for (PlotId id : to_move) {
|
||||
Plot plot = PlotHelper.getPlot(world, id);
|
||||
for (final PlotId id : to_move) {
|
||||
final Plot plot = PlotHelper.getPlot(world, id);
|
||||
if (plot.hasOwner()) {
|
||||
break;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
for (int i = 0; i<index; i++) {
|
||||
for (int i = 0; i < index; i++) {
|
||||
to_move.remove(0);
|
||||
}
|
||||
index = 0;
|
||||
for (PlotId id : free) {
|
||||
Plot plot = PlotHelper.getPlot(world, id);
|
||||
for (final PlotId id : free) {
|
||||
final Plot plot = PlotHelper.getPlot(world, id);
|
||||
if (!plot.hasOwner()) {
|
||||
break;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
for (int i = 0; i<index; i++) {
|
||||
for (int i = 0; i < index; i++) {
|
||||
free.remove(0);
|
||||
}
|
||||
if (to_move.size() == 0) {
|
||||
@ -141,7 +138,7 @@ public class Condense extends SubCommand {
|
||||
TASK = false;
|
||||
return;
|
||||
}
|
||||
sendMessage("MOVING " + to_move.get(0) +" to " + free.get(0));
|
||||
sendMessage("MOVING " + to_move.get(0) + " to " + free.get(0));
|
||||
PlotHelper.move(world, to_move.get(0), free.get(0), this);
|
||||
}
|
||||
});
|
||||
@ -167,16 +164,16 @@ public class Condense extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, "INVALID RADIUS");
|
||||
return false;
|
||||
}
|
||||
int radius = Integer.parseInt(args[2]);
|
||||
Collection<Plot> plots = PlotSquared.getPlots(worldname).values();
|
||||
int size = plots.size();
|
||||
int minimum_radius = (int) Math.ceil((Math.sqrt(size)/2) + 1);
|
||||
final int radius = Integer.parseInt(args[2]);
|
||||
final Collection<Plot> plots = PlotSquared.getPlots(worldname).values();
|
||||
final int size = plots.size();
|
||||
final int minimum_radius = (int) Math.ceil((Math.sqrt(size) / 2) + 1);
|
||||
if (radius < minimum_radius) {
|
||||
PlayerFunctions.sendMessage(plr, "RADIUS TOO SMALL");
|
||||
return false;
|
||||
}
|
||||
int max_move = getPlots(plots, minimum_radius).size();
|
||||
int user_move = getPlots(plots, radius).size();
|
||||
final int max_move = getPlots(plots, minimum_radius).size();
|
||||
final int user_move = getPlots(plots, radius).size();
|
||||
PlayerFunctions.sendMessage(plr, "=== DEFAULT EVAL ===");
|
||||
PlayerFunctions.sendMessage(plr, "MINIMUM RADIUS: " + minimum_radius);
|
||||
PlayerFunctions.sendMessage(plr, "MAXIMUM MOVES: " + max_move);
|
||||
@ -192,10 +189,10 @@ public class Condense extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
|
||||
public Set<PlotId> getPlots(Collection<Plot> plots, int radius) {
|
||||
HashSet<PlotId> outside = new HashSet<>();
|
||||
for (Plot plot : plots) {
|
||||
if (plot.id.x > radius || plot.id.x < -radius || plot.id.y > radius || plot.id.y < -radius) {
|
||||
public Set<PlotId> getPlots(final Collection<Plot> plots, final int radius) {
|
||||
final HashSet<PlotId> outside = new HashSet<>();
|
||||
for (final Plot plot : plots) {
|
||||
if ((plot.id.x > radius) || (plot.id.x < -radius) || (plot.id.y > radius) || (plot.id.y < -radius)) {
|
||||
outside.add(plot.id);
|
||||
}
|
||||
}
|
||||
@ -205,5 +202,4 @@ public class Condense extends SubCommand {
|
||||
public static void sendMessage(final String message) {
|
||||
PlotSquared.log("&3PlotSquared -> Plot condense&8: &7" + message);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -31,7 +30,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
public class Copy extends SubCommand {
|
||||
|
||||
public Copy() {
|
||||
super(Command.COPY, "Copy a plot", "copy", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -32,31 +31,24 @@ import com.intellectualcrafters.plot.util.PlotHelper;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
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 Player player, final String... args) {
|
||||
|
||||
if (!PlayerFunctions.isInPlot(player)) {
|
||||
PlayerFunctions.sendMessage(player, C.NOT_IN_PLOT);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!(PlotSquared.getWorldSettings(player.getWorld()) instanceof HybridPlotWorld)) {
|
||||
return sendMessage(player, C.NOT_IN_PLOT_WORLD);
|
||||
}
|
||||
|
||||
final Plot plot = PlayerFunctions.getCurrentPlot(player);
|
||||
|
||||
HybridPlotManager manager = (HybridPlotManager) PlotSquared.getPlotManager(player.getWorld());
|
||||
|
||||
final HybridPlotManager manager = (HybridPlotManager) PlotSquared.getPlotManager(player.getWorld());
|
||||
manager.setupRoadSchematic(plot);
|
||||
PlotHelper.update(BukkitUtil.getLocation(entity));
|
||||
PlayerFunctions.sendMessage(player, "&6Saved new road schematic");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class DEOP extends SubCommand {
|
||||
|
||||
public DEOP() {
|
||||
super(Command.DEOP, "Alias for /plot trusted remove", "/plot deop [player]", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
|
@ -24,8 +24,7 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class Database extends SubCommand {
|
||||
|
||||
final String[] tables = new String[]{"plot_trusted", "plot_ratings", "plot_comments"};
|
||||
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);
|
||||
@ -76,7 +75,7 @@ public class Database extends SubCommand {
|
||||
if (args.length < 1) {
|
||||
return sendMessage(plr, "/plot database [sqlite/mysql]");
|
||||
}
|
||||
final String type = new StringComparison(args[0], new String[]{"mysql", "sqlite"}).getBestMatch().toLowerCase();
|
||||
final String type = new StringComparison(args[0], new String[] { "mysql", "sqlite" }).getBestMatch().toLowerCase();
|
||||
switch (type) {
|
||||
case "mysql":
|
||||
if (args.length < 6) {
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@ -33,7 +32,6 @@ import com.intellectualcrafters.plot.util.RUtils;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class Debug extends SubCommand {
|
||||
|
||||
public Debug() {
|
||||
super(Command.DEBUG, "Show debug information", "debug [msg]", CommandCategory.DEBUG, false);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -50,7 +49,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
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);
|
||||
}
|
||||
@ -84,13 +82,10 @@ public class DebugClaimTest extends SubCommand {
|
||||
if ((world == null) || !PlotSquared.isPlotWorld(world)) {
|
||||
return !PlayerFunctions.sendMessage(null, "&cInvalid plot world!");
|
||||
}
|
||||
|
||||
PlotId min, max;
|
||||
|
||||
try {
|
||||
final String[] split1 = args[1].split(";");
|
||||
final String[] split2 = args[2].split(";");
|
||||
|
||||
min = new PlotId(Integer.parseInt(split1[0]), Integer.parseInt(split1[1]));
|
||||
max = new PlotId(Integer.parseInt(split2[0]), Integer.parseInt(split2[1]));
|
||||
} catch (final Exception e) {
|
||||
@ -98,12 +93,9 @@ public class DebugClaimTest extends SubCommand {
|
||||
}
|
||||
PlayerFunctions.sendMessage(null, "&3Sign Block&8->&3PlotSquared&8: &7Beginning sign to plot conversion. This may take a while...");
|
||||
PlayerFunctions.sendMessage(null, "&3Sign Block&8->&3PlotSquared&8: Found an excess of 250,000 chunks. Limiting search radius... (~3.8 min)");
|
||||
|
||||
final PlotManager manager = PlotSquared.getPlotManager(world);
|
||||
final PlotWorld plotworld = PlotSquared.getWorldSettings(world);
|
||||
|
||||
final ArrayList<Plot> plots = new ArrayList<>();
|
||||
|
||||
for (final PlotId id : PlayerFunctions.getPlotSelectionIds(min, max)) {
|
||||
final Plot plot = PlotHelper.getPlot(world, id);
|
||||
final boolean contains = PlotSquared.getPlots(world).containsKey(plot.id);
|
||||
@ -111,18 +103,14 @@ public class DebugClaimTest extends SubCommand {
|
||||
PlayerFunctions.sendMessage(null, " - &cDB Already contains: " + plot.id);
|
||||
continue;
|
||||
}
|
||||
|
||||
final Location loc = manager.getSignLoc(world, plotworld, plot);
|
||||
|
||||
final Chunk chunk = world.getChunkAt(loc);
|
||||
|
||||
if (!chunk.isLoaded()) {
|
||||
final boolean result = chunk.load(false);
|
||||
if (!result) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
final Block block = world.getBlockAt(loc);
|
||||
if (block != null) {
|
||||
if (block.getState() instanceof Sign) {
|
||||
@ -130,11 +118,8 @@ public class DebugClaimTest extends SubCommand {
|
||||
String line = sign.getLine(2);
|
||||
if ((line != null) && (line.length() > 2)) {
|
||||
line = line.substring(2);
|
||||
|
||||
final BiMap<StringWrapper, UUID> map = UUIDHandler.getUuidMap();
|
||||
|
||||
UUID uuid = (map.get(new StringWrapper(line)));
|
||||
|
||||
if (uuid == null) {
|
||||
for (final StringWrapper string : map.keySet()) {
|
||||
if (string.value.toLowerCase().startsWith(line.toLowerCase())) {
|
||||
@ -158,22 +143,17 @@ public class DebugClaimTest extends SubCommand {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (plots.size() > 0) {
|
||||
PlayerFunctions.sendMessage(null, "&3Sign Block&8->&3PlotSquared&8: &7Updating '" + plots.size() + "' plots!");
|
||||
DBFunc.createPlots(plots);
|
||||
DBFunc.createAllSettingsAndHelpers(plots);
|
||||
|
||||
for (final Plot plot : plots) {
|
||||
PlotSquared.updatePlot(plot);
|
||||
}
|
||||
|
||||
PlayerFunctions.sendMessage(null, "&3Sign Block&8->&3PlotSquared&8: &7Complete!");
|
||||
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(null, "No plots were found for the given search.");
|
||||
}
|
||||
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(plr, "&6This command can only be executed by console as it has been deemed unsafe if abused.");
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@ -38,7 +37,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
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);
|
||||
}
|
||||
@ -62,9 +60,9 @@ public class DebugClear extends SubCommand {
|
||||
if (plot == null) {
|
||||
PlotSquared.log("Could not find plot " + args[0] + " in world " + world);
|
||||
} else {
|
||||
World bukkitWorld = Bukkit.getWorld(world);
|
||||
Location pos1 = PlotHelper.getPlotBottomLoc(bukkitWorld, plot.id).add(1, 0, 1);
|
||||
Location pos2 = PlotHelper.getPlotTopLoc(bukkitWorld, plot.id);
|
||||
final World bukkitWorld = Bukkit.getWorld(world);
|
||||
final Location pos1 = PlotHelper.getPlotBottomLoc(bukkitWorld, plot.id).add(1, 0, 1);
|
||||
final Location pos2 = PlotHelper.getPlotTopLoc(bukkitWorld, plot.id);
|
||||
if (PlotHelper.runners.containsKey(plot)) {
|
||||
PlayerFunctions.sendMessage(null, C.WAIT_FOR_TIMER);
|
||||
return false;
|
||||
@ -84,7 +82,6 @@ public class DebugClear extends SubCommand {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!PlayerFunctions.isInPlot(plr) || !(PlotSquared.getWorldSettings(plr.getWorld()) instanceof SquarePlotWorld)) {
|
||||
return sendMessage(plr, C.NOT_IN_PLOT);
|
||||
}
|
||||
@ -96,9 +93,9 @@ public class DebugClear extends SubCommand {
|
||||
return sendMessage(plr, C.NO_PLOT_PERMS);
|
||||
}
|
||||
assert plot != null;
|
||||
World bukkitWorld = plr.getWorld();
|
||||
Location pos1 = PlotHelper.getPlotBottomLoc(bukkitWorld, plot.id).add(1, 0, 1);
|
||||
Location pos2 = PlotHelper.getPlotTopLoc(bukkitWorld, plot.id);
|
||||
final World bukkitWorld = plr.getWorld();
|
||||
final Location pos1 = PlotHelper.getPlotBottomLoc(bukkitWorld, plot.id).add(1, 0, 1);
|
||||
final Location pos2 = PlotHelper.getPlotTopLoc(bukkitWorld, plot.id);
|
||||
if (PlotHelper.runners.containsKey(plot)) {
|
||||
PlayerFunctions.sendMessage(null, C.WAIT_FOR_TIMER);
|
||||
return false;
|
||||
@ -111,11 +108,8 @@ public class DebugClear extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, "&aDone!");
|
||||
}
|
||||
});
|
||||
|
||||
// sign
|
||||
|
||||
// wall
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.io.File;
|
||||
@ -46,100 +45,94 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
public class DebugExec extends SubCommand {
|
||||
|
||||
private ArrayList<ChunkLoc> chunks = null;
|
||||
private World world;
|
||||
|
||||
public DebugExec() {
|
||||
super("debugexec", "plots.admin", "Multi-purpose debug command", "debugexec", "exec", CommandCategory.DEBUG, false);
|
||||
super("debugexec", "plots.admin", "Multi-purpose debug command", "debugexec", "exec", CommandCategory.DEBUG, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(final Player player, final String... args) {
|
||||
List<String> allowed_params = Arrays.asList(new String[]{"stop-expire","start-expire", "show-expired", "update-expired", "seen", "trim-check"});
|
||||
final List<String> allowed_params = Arrays.asList(new String[] { "stop-expire", "start-expire", "show-expired", "update-expired", "seen", "trim-check" });
|
||||
if (args.length > 0) {
|
||||
String arg = args[0].toLowerCase();
|
||||
switch (arg) {
|
||||
case "stop-expire": {
|
||||
if (ExpireManager.task != -1) {
|
||||
Bukkit.getScheduler().cancelTask(ExpireManager.task);
|
||||
}
|
||||
else {
|
||||
return PlayerFunctions.sendMessage(null, "Task already halted");
|
||||
}
|
||||
ExpireManager.task = -1;
|
||||
return PlayerFunctions.sendMessage(null, "Cancelled task.");
|
||||
}
|
||||
case "start-expire": {
|
||||
if (ExpireManager.task == -1) {
|
||||
ExpireManager.runTask();
|
||||
}
|
||||
else {
|
||||
return PlayerFunctions.sendMessage(null, "Plot expiry task already started");
|
||||
}
|
||||
return PlayerFunctions.sendMessage(null, "Started plot expiry task");
|
||||
}
|
||||
case "update-expired": {
|
||||
if (args.length > 1) {
|
||||
World world = Bukkit.getWorld(args[1]);
|
||||
if (world == null) {
|
||||
return PlayerFunctions.sendMessage(null, "Invalid world: "+args[1]);
|
||||
}
|
||||
PlayerFunctions.sendMessage(null, "Updating expired plot list");
|
||||
ExpireManager.updateExpired(args[1]);
|
||||
return true;
|
||||
}
|
||||
return PlayerFunctions.sendMessage(null, "Use /plot debugexec update-expired <world>");
|
||||
}
|
||||
case "show-expired": {
|
||||
if (args.length > 1) {
|
||||
World world = Bukkit.getWorld(args[1]);
|
||||
if (world == null || !ExpireManager.expiredPlots.containsKey(args[1])) {
|
||||
return PlayerFunctions.sendMessage(null, "Invalid world: "+args[1]);
|
||||
}
|
||||
PlayerFunctions.sendMessage(null, "Expired plots (" + ExpireManager.expiredPlots.get(args[1]).size() + "):");
|
||||
for (Entry<Plot, Long> entry : ExpireManager.expiredPlots.get(args[1]).entrySet()) {
|
||||
Plot plot = entry.getKey();
|
||||
Long stamp = entry.getValue();
|
||||
PlayerFunctions.sendMessage(null, " - " + plot.world + ";" + plot.id.x + ";" + plot.id.y + ";" + UUIDHandler.getName(plot.owner) +" : " + stamp);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return PlayerFunctions.sendMessage(null, "Use /plot debugexec show-expired <world>");
|
||||
}
|
||||
case "seen": {
|
||||
if (args.length != 2) {
|
||||
return PlayerFunctions.sendMessage(null, "Use /plot debugexec seen <player>");
|
||||
}
|
||||
UUID uuid = UUIDHandler.getUUID(args[1]);
|
||||
if (uuid == null) {
|
||||
return PlayerFunctions.sendMessage(null, "player not found: " + args[1]);
|
||||
}
|
||||
OfflinePlayer op = UUIDHandler.uuidWrapper.getOfflinePlayer(uuid);
|
||||
if (op == null || !op.hasPlayedBefore()) {
|
||||
return PlayerFunctions.sendMessage(null, "player hasn't connected before: " + args[1]);
|
||||
}
|
||||
Timestamp stamp = new Timestamp(op.getLastPlayed());
|
||||
Date date = new Date(stamp.getTime());
|
||||
PlayerFunctions.sendMessage(null, "PLAYER: " + args[1]);
|
||||
PlayerFunctions.sendMessage(null, "UUID: " + uuid);
|
||||
PlayerFunctions.sendMessage(null, "Object: " + date.toGMTString());
|
||||
PlayerFunctions.sendMessage(null, "GMT: " + date.toGMTString());
|
||||
PlayerFunctions.sendMessage(null, "Local: " + date.toLocaleString());
|
||||
return true;
|
||||
}
|
||||
case "trim-check": {
|
||||
if (args.length != 2) {
|
||||
PlayerFunctions.sendMessage(null, "Use /plot debugexec trim-check <world>");
|
||||
PlayerFunctions.sendMessage(null, "&7 - Generates a list of regions to trim");
|
||||
return PlayerFunctions.sendMessage(null, "&7 - Run after plot expiry has run");
|
||||
}
|
||||
final World world = Bukkit.getWorld(args[1]);
|
||||
if (world == null || !PlotSquared.isPlotWorld(args[1])) {
|
||||
return PlayerFunctions.sendMessage(null, "Invalid world: "+args[1]);
|
||||
final String arg = args[0].toLowerCase();
|
||||
switch (arg) {
|
||||
case "stop-expire": {
|
||||
if (ExpireManager.task != -1) {
|
||||
Bukkit.getScheduler().cancelTask(ExpireManager.task);
|
||||
} else {
|
||||
return PlayerFunctions.sendMessage(null, "Task already halted");
|
||||
}
|
||||
final ArrayList<ChunkLoc> empty = new ArrayList<>();
|
||||
boolean result = Trim.getTrimRegions(empty, world, new Runnable() {
|
||||
ExpireManager.task = -1;
|
||||
return PlayerFunctions.sendMessage(null, "Cancelled task.");
|
||||
}
|
||||
case "start-expire": {
|
||||
if (ExpireManager.task == -1) {
|
||||
ExpireManager.runTask();
|
||||
} else {
|
||||
return PlayerFunctions.sendMessage(null, "Plot expiry task already started");
|
||||
}
|
||||
return PlayerFunctions.sendMessage(null, "Started plot expiry task");
|
||||
}
|
||||
case "update-expired": {
|
||||
if (args.length > 1) {
|
||||
final World world = Bukkit.getWorld(args[1]);
|
||||
if (world == null) {
|
||||
return PlayerFunctions.sendMessage(null, "Invalid world: " + args[1]);
|
||||
}
|
||||
PlayerFunctions.sendMessage(null, "Updating expired plot list");
|
||||
ExpireManager.updateExpired(args[1]);
|
||||
return true;
|
||||
}
|
||||
return PlayerFunctions.sendMessage(null, "Use /plot debugexec update-expired <world>");
|
||||
}
|
||||
case "show-expired": {
|
||||
if (args.length > 1) {
|
||||
final World world = Bukkit.getWorld(args[1]);
|
||||
if ((world == null) || !ExpireManager.expiredPlots.containsKey(args[1])) {
|
||||
return PlayerFunctions.sendMessage(null, "Invalid world: " + args[1]);
|
||||
}
|
||||
PlayerFunctions.sendMessage(null, "Expired plots (" + ExpireManager.expiredPlots.get(args[1]).size() + "):");
|
||||
for (final Entry<Plot, Long> entry : ExpireManager.expiredPlots.get(args[1]).entrySet()) {
|
||||
final Plot plot = entry.getKey();
|
||||
final Long stamp = entry.getValue();
|
||||
PlayerFunctions.sendMessage(null, " - " + plot.world + ";" + plot.id.x + ";" + plot.id.y + ";" + UUIDHandler.getName(plot.owner) + " : " + stamp);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return PlayerFunctions.sendMessage(null, "Use /plot debugexec show-expired <world>");
|
||||
}
|
||||
case "seen": {
|
||||
if (args.length != 2) {
|
||||
return PlayerFunctions.sendMessage(null, "Use /plot debugexec seen <player>");
|
||||
}
|
||||
final UUID uuid = UUIDHandler.getUUID(args[1]);
|
||||
if (uuid == null) {
|
||||
return PlayerFunctions.sendMessage(null, "player not found: " + args[1]);
|
||||
}
|
||||
final OfflinePlayer op = UUIDHandler.uuidWrapper.getOfflinePlayer(uuid);
|
||||
if ((op == null) || !op.hasPlayedBefore()) {
|
||||
return PlayerFunctions.sendMessage(null, "player hasn't connected before: " + args[1]);
|
||||
}
|
||||
final Timestamp stamp = new Timestamp(op.getLastPlayed());
|
||||
final Date date = new Date(stamp.getTime());
|
||||
PlayerFunctions.sendMessage(null, "PLAYER: " + args[1]);
|
||||
PlayerFunctions.sendMessage(null, "UUID: " + uuid);
|
||||
PlayerFunctions.sendMessage(null, "Object: " + date.toGMTString());
|
||||
PlayerFunctions.sendMessage(null, "GMT: " + date.toGMTString());
|
||||
PlayerFunctions.sendMessage(null, "Local: " + date.toLocaleString());
|
||||
return true;
|
||||
}
|
||||
case "trim-check": {
|
||||
if (args.length != 2) {
|
||||
PlayerFunctions.sendMessage(null, "Use /plot debugexec trim-check <world>");
|
||||
PlayerFunctions.sendMessage(null, "&7 - Generates a list of regions to trim");
|
||||
return PlayerFunctions.sendMessage(null, "&7 - Run after plot expiry has run");
|
||||
}
|
||||
final World world = Bukkit.getWorld(args[1]);
|
||||
if ((world == null) || !PlotSquared.isPlotWorld(args[1])) {
|
||||
return PlayerFunctions.sendMessage(null, "Invalid world: " + args[1]);
|
||||
}
|
||||
final ArrayList<ChunkLoc> empty = new ArrayList<>();
|
||||
final boolean result = Trim.getTrimRegions(empty, world, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Trim.sendMessage("Processing is complete! Here's how many chunks would be deleted:");
|
||||
@ -150,13 +143,13 @@ public class DebugExec extends SubCommand {
|
||||
PrintWriter writer;
|
||||
try {
|
||||
writer = new PrintWriter(file);
|
||||
String worldname = world.getName();
|
||||
for (ChunkLoc loc : empty) {
|
||||
writer.println(worldname +"/region/r." + loc.x + "." + loc.z +".mca" );
|
||||
final String worldname = world.getName();
|
||||
for (final ChunkLoc loc : empty) {
|
||||
writer.println(worldname + "/region/r." + loc.x + "." + loc.z + ".mca");
|
||||
}
|
||||
writer.close();
|
||||
Trim.sendMessage("File saved to 'plugins/PlotSquared/trim.txt'");
|
||||
} catch (FileNotFoundException e) {
|
||||
} catch (final FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
Trim.sendMessage("File failed to save! :(");
|
||||
}
|
||||
@ -166,14 +159,14 @@ public class DebugExec extends SubCommand {
|
||||
Trim.sendMessage(" - Add 31 to each number to get the end position");
|
||||
}
|
||||
});
|
||||
if (!result) {
|
||||
PlayerFunctions.sendMessage(null, "Trim task already started!");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
if (!result) {
|
||||
PlayerFunctions.sendMessage(null, "Trim task already started!");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, "Possible sub commands: /plot debugexec <" + StringUtils.join(allowed_params, "|") + ">");
|
||||
PlayerFunctions.sendMessage(player, "Possible sub commands: /plot debugexec <" + StringUtils.join(allowed_params, "|") + ">");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -38,7 +37,6 @@ import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class DebugFixFlags extends SubCommand {
|
||||
|
||||
public DebugFixFlags() {
|
||||
super(Command.DEBUGFIXFLAGS, "Attempt to fix all flags for a world", "debugclear", CommandCategory.DEBUG, false);
|
||||
}
|
||||
@ -53,22 +51,22 @@ public class DebugFixFlags extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot debugfixflags <world>");
|
||||
return false;
|
||||
}
|
||||
World world = Bukkit.getWorld(args[0]);
|
||||
if (world == null || !PlotSquared.isPlotWorld(world)) {
|
||||
final World world = Bukkit.getWorld(args[0]);
|
||||
if ((world == null) || !PlotSquared.isPlotWorld(world)) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_VALID_PLOT_WORLD, args[0]);
|
||||
return false;
|
||||
}
|
||||
PlayerFunctions.sendMessage(plr, "&8--- &6Starting task &8 ---");
|
||||
for (Plot plot : PlotSquared.getPlots(world).values()) {
|
||||
Set<Flag> flags = plot.settings.flags;
|
||||
ArrayList<Flag> toRemove = new ArrayList<Flag>();
|
||||
for (Flag flag : flags) {
|
||||
AbstractFlag af = FlagManager.getFlag(flag.getKey());
|
||||
for (final Plot plot : PlotSquared.getPlots(world).values()) {
|
||||
final Set<Flag> flags = plot.settings.flags;
|
||||
final ArrayList<Flag> toRemove = new ArrayList<Flag>();
|
||||
for (final Flag flag : flags) {
|
||||
final AbstractFlag af = FlagManager.getFlag(flag.getKey());
|
||||
if (af == null) {
|
||||
toRemove.add(flag);
|
||||
}
|
||||
}
|
||||
for (Flag flag : toRemove) {
|
||||
for (final Flag flag : toRemove) {
|
||||
plot.settings.flags.remove(flag);
|
||||
}
|
||||
if (toRemove.size() > 0) {
|
||||
@ -76,7 +74,6 @@ public class DebugFixFlags extends SubCommand {
|
||||
}
|
||||
}
|
||||
PlayerFunctions.sendMessage(plr, "&aDone!");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
@ -33,7 +32,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
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);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.Arrays;
|
||||
@ -34,7 +33,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.SetBlockManager;
|
||||
|
||||
public class DebugRoadRegen extends SubCommand {
|
||||
|
||||
public DebugRoadRegen() {
|
||||
super(Command.DEBUGROADREGEN, "Regenerate all road schematic in your current chunk", "debugroadregen", CommandCategory.DEBUG, true);
|
||||
}
|
||||
@ -44,14 +42,13 @@ public class DebugRoadRegen extends SubCommand {
|
||||
if (!(PlotSquared.getWorldSettings(player.getWorld()) instanceof HybridPlotWorld)) {
|
||||
return sendMessage(player, C.NOT_IN_PLOT_WORLD);
|
||||
}
|
||||
HybridPlotManager manager = (HybridPlotManager) PlotSquared.getPlotManager(player.getWorld());
|
||||
|
||||
Chunk chunk = BukkitUtil.getLocation(entity).getChunk();
|
||||
boolean result = manager.regenerateRoad(chunk);
|
||||
final HybridPlotManager manager = (HybridPlotManager) PlotSquared.getPlotManager(player.getWorld());
|
||||
final Chunk chunk = BukkitUtil.getLocation(entity).getChunk();
|
||||
final boolean result = manager.regenerateRoad(chunk);
|
||||
if (result) {
|
||||
SetBlockManager.setBlockManager.update(Arrays.asList(new Chunk[] {chunk}));
|
||||
SetBlockManager.setBlockManager.update(Arrays.asList(new Chunk[] { chunk }));
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, "&6Regenerating chunk: "+chunk.getX() + "," + chunk.getZ() + "\n&6 - Result: " + (result == true ? "&aSuccess" : "&cFailed"));
|
||||
PlayerFunctions.sendMessage(player, "&6Regenerating chunk: " + chunk.getX() + "," + chunk.getZ() + "\n&6 - Result: " + (result == true ? "&aSuccess" : "&cFailed"));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -34,7 +33,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
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);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
@ -35,7 +34,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
public class Delete extends SubCommand {
|
||||
|
||||
public Delete() {
|
||||
super(Command.DELETE, "Delete a plot", "delete", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.UUID;
|
||||
@ -34,8 +33,8 @@ import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
@SuppressWarnings("deprecation") public class Denied extends SubCommand {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class Denied extends SubCommand {
|
||||
public Denied() {
|
||||
super(Command.DENIED, "Manage plot helpers", "denied {add|remove} {player}", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -63,7 +62,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
UUID uuid;
|
||||
if (args[1].equalsIgnoreCase("*")) {
|
||||
uuid = DBFunc.everyone;
|
||||
|
||||
} else {
|
||||
uuid = UUIDHandler.getUUID(args[1]);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -40,7 +39,6 @@ import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class FlagCmd extends SubCommand {
|
||||
|
||||
public FlagCmd() {
|
||||
super(Command.FLAG, "Manage plot flags", "f", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -58,7 +56,7 @@ public class FlagCmd extends SubCommand {
|
||||
PlayerFunctions.sendMessage(player, C.COMMAND_SYNTAX, "/plot flag <set|remove|add|list|info>");
|
||||
return false;
|
||||
}
|
||||
Plot plot = PlayerFunctions.getCurrentPlot(player);
|
||||
final Plot plot = PlayerFunctions.getCurrentPlot(player);
|
||||
if (plot == null) {
|
||||
PlayerFunctions.sendMessage(player, C.NOT_IN_PLOT);
|
||||
return false;
|
||||
@ -81,7 +79,7 @@ public class FlagCmd extends SubCommand {
|
||||
PlayerFunctions.sendMessage(player, C.COMMAND_SYNTAX, "/plot flag info <flag>");
|
||||
return false;
|
||||
}
|
||||
AbstractFlag af = FlagManager.getFlag(args[1]);
|
||||
final AbstractFlag af = FlagManager.getFlag(args[1]);
|
||||
if (af == null) {
|
||||
PlayerFunctions.sendMessage(player, C.NOT_VALID_FLAG);
|
||||
PlayerFunctions.sendMessage(player, C.COMMAND_SYNTAX, "/plot flag info <flag>");
|
||||
@ -104,7 +102,7 @@ public class FlagCmd extends SubCommand {
|
||||
PlayerFunctions.sendMessage(player, C.COMMAND_SYNTAX, "/plot flag set <flag> <value>");
|
||||
return false;
|
||||
}
|
||||
AbstractFlag af = FlagManager.getFlag(args[1].toLowerCase());
|
||||
final AbstractFlag af = FlagManager.getFlag(args[1].toLowerCase());
|
||||
if (af == null) {
|
||||
PlayerFunctions.sendMessage(player, C.NOT_VALID_FLAG);
|
||||
return false;
|
||||
@ -113,14 +111,14 @@ public class FlagCmd extends SubCommand {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.set.flag." + args[1].toLowerCase());
|
||||
return false;
|
||||
}
|
||||
String value = StringUtils.join(Arrays.copyOfRange(args, 2, args.length), " ");
|
||||
Object parsed = af.parseValueRaw(value);
|
||||
final String value = StringUtils.join(Arrays.copyOfRange(args, 2, args.length), " ");
|
||||
final Object parsed = af.parseValueRaw(value);
|
||||
if (parsed == null) {
|
||||
PlayerFunctions.sendMessage(player, "&c" + af.getValueDesc());
|
||||
return false;
|
||||
}
|
||||
final Flag flag = new Flag(FlagManager.getFlag(args[1].toLowerCase(), true), parsed);
|
||||
boolean result = FlagManager.addPlotFlag(plot, flag);
|
||||
final boolean result = FlagManager.addPlotFlag(plot, flag);
|
||||
if (!result) {
|
||||
PlayerFunctions.sendMessage(player, C.FLAG_NOT_ADDED);
|
||||
return false;
|
||||
@ -134,11 +132,11 @@ public class FlagCmd extends SubCommand {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.flag.remove");
|
||||
return false;
|
||||
}
|
||||
if (args.length != 2 && args.length != 3) {
|
||||
if ((args.length != 2) && (args.length != 3)) {
|
||||
PlayerFunctions.sendMessage(player, C.COMMAND_SYNTAX, "/plot flag remove <flag> [values]");
|
||||
return false;
|
||||
}
|
||||
AbstractFlag af = FlagManager.getFlag(args[1].toLowerCase());
|
||||
final AbstractFlag af = FlagManager.getFlag(args[1].toLowerCase());
|
||||
if (af == null) {
|
||||
PlayerFunctions.sendMessage(player, C.NOT_VALID_FLAG);
|
||||
return false;
|
||||
@ -147,18 +145,17 @@ public class FlagCmd extends SubCommand {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.set.flag." + args[1].toLowerCase());
|
||||
return false;
|
||||
}
|
||||
Flag flag = FlagManager.getPlotFlagAbs(plot, args[1].toLowerCase());
|
||||
final Flag flag = FlagManager.getPlotFlagAbs(plot, args[1].toLowerCase());
|
||||
if (flag == null) {
|
||||
PlayerFunctions.sendMessage(player, C.FLAG_NOT_IN_PLOT);
|
||||
return false;
|
||||
}
|
||||
if (args.length == 3 && flag.getAbstractFlag().isList()) {
|
||||
String value = StringUtils.join(Arrays.copyOfRange(args, 2, args.length), " ");
|
||||
if ((args.length == 3) && flag.getAbstractFlag().isList()) {
|
||||
final String value = StringUtils.join(Arrays.copyOfRange(args, 2, args.length), " ");
|
||||
((FlagValue.ListValue) flag.getAbstractFlag().value).remove(flag.getValue(), value);
|
||||
DBFunc.setFlags(plot.world, plot, plot.settings.flags);
|
||||
}
|
||||
else {
|
||||
boolean result = FlagManager.removePlotFlag(plot, flag.getKey());
|
||||
} else {
|
||||
final boolean result = FlagManager.removePlotFlag(plot, flag.getKey());
|
||||
if (!result) {
|
||||
PlayerFunctions.sendMessage(player, C.FLAG_NOT_REMOVED);
|
||||
return false;
|
||||
@ -177,7 +174,7 @@ public class FlagCmd extends SubCommand {
|
||||
PlayerFunctions.sendMessage(player, C.COMMAND_SYNTAX, "/plot flag add <flag> <values>");
|
||||
return false;
|
||||
}
|
||||
AbstractFlag af = FlagManager.getFlag(args[1].toLowerCase());
|
||||
final AbstractFlag af = FlagManager.getFlag(args[1].toLowerCase());
|
||||
if (af == null) {
|
||||
PlayerFunctions.sendMessage(player, C.NOT_VALID_FLAG);
|
||||
return false;
|
||||
@ -186,20 +183,19 @@ public class FlagCmd extends SubCommand {
|
||||
PlayerFunctions.sendMessage(player, C.NO_PERMISSION, "plots.set.flag." + args[1].toLowerCase());
|
||||
return false;
|
||||
}
|
||||
String value = StringUtils.join(Arrays.copyOfRange(args, 2, args.length), " ");
|
||||
Object parsed = af.parseValueRaw(value);
|
||||
final String value = StringUtils.join(Arrays.copyOfRange(args, 2, args.length), " ");
|
||||
final Object parsed = af.parseValueRaw(value);
|
||||
if (parsed == null) {
|
||||
PlayerFunctions.sendMessage(player, "&c" + af.getValueDesc());
|
||||
return false;
|
||||
}
|
||||
Flag flag = FlagManager.getPlotFlag(plot, args[1].toLowerCase());
|
||||
if (flag == null || !flag.getAbstractFlag().isList()) {
|
||||
if ((flag == null) || !flag.getAbstractFlag().isList()) {
|
||||
flag = new Flag(FlagManager.getFlag(args[1].toLowerCase(), true), parsed);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
((FlagValue.ListValue) flag.getAbstractFlag().value).add(flag.getValue(), value);
|
||||
}
|
||||
boolean result = FlagManager.addPlotFlag(plot, flag);
|
||||
final boolean result = FlagManager.addPlotFlag(plot, flag);
|
||||
if (!result) {
|
||||
PlayerFunctions.sendMessage(player, C.FLAG_NOT_ADDED);
|
||||
return false;
|
||||
@ -218,9 +214,9 @@ public class FlagCmd extends SubCommand {
|
||||
PlayerFunctions.sendMessage(player, C.COMMAND_SYNTAX, "/plot flag list");
|
||||
return false;
|
||||
}
|
||||
HashMap<String, ArrayList<String>> flags = new HashMap<>();
|
||||
for (AbstractFlag af : FlagManager.getFlags()) {
|
||||
String type = af.value.getClass().getSimpleName().replaceAll("Value", "");
|
||||
final HashMap<String, ArrayList<String>> flags = new HashMap<>();
|
||||
for (final AbstractFlag af : FlagManager.getFlags()) {
|
||||
final String type = af.value.getClass().getSimpleName().replaceAll("Value", "");
|
||||
if (!flags.containsKey(type)) {
|
||||
flags.put(type, new ArrayList<String>());
|
||||
}
|
||||
@ -228,8 +224,8 @@ public class FlagCmd extends SubCommand {
|
||||
}
|
||||
String message = "";
|
||||
String prefix = "";
|
||||
for (String flag : flags.keySet()) {
|
||||
message += prefix + "&6" + flag +": &7" + StringUtils.join(flags.get(flag), ", ");
|
||||
for (final String flag : flags.keySet()) {
|
||||
message += prefix + "&6" + flag + ": &7" + StringUtils.join(flags.get(flag), ", ");
|
||||
prefix = "\n";
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, message);
|
||||
|
@ -5,7 +5,6 @@
|
||||
*
|
||||
* >> File = Help.java >> Generated by: Citymonstret at 2014-08-11 17:32
|
||||
*/
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.UUID;
|
||||
@ -35,7 +34,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
public class Helpers extends SubCommand {
|
||||
|
||||
public Helpers() {
|
||||
super(Command.HELPERS, "Manage plot helpers", "helpers {add|remove} {player}", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -33,7 +32,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class Home extends SubCommand {
|
||||
|
||||
public Home() {
|
||||
super(Command.HOME, "Go to your plot", "home {id|alias}", CommandCategory.TELEPORT, true);
|
||||
}
|
||||
@ -55,7 +53,7 @@ public class Home extends SubCommand {
|
||||
return true;
|
||||
} else if (plots.length > 1) {
|
||||
if (args.length < 1) {
|
||||
args = new String[]{"1"};
|
||||
args = new String[] { "1" };
|
||||
}
|
||||
int id = 0;
|
||||
try {
|
||||
@ -87,8 +85,7 @@ public class Home extends SubCommand {
|
||||
}
|
||||
}
|
||||
|
||||
public void teleportPlayer(Player player, Plot plot) {
|
||||
PlotSquared.teleportPlayer(player, BukkitUtil.getLocation(entity), plot);
|
||||
public void teleportPlayer(final Player player, final Plot plot) {
|
||||
PlotSquared.teleportPlayer(player, BukkitUtil.getLocation(entity), plot);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -39,51 +38,49 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
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 Player plr, final String... args) {
|
||||
boolean report = false;
|
||||
if (args.length == 1){
|
||||
if (args[0].equalsIgnoreCase("reports")) {
|
||||
report = true;
|
||||
}
|
||||
}
|
||||
boolean report = false;
|
||||
if (args.length == 1) {
|
||||
if (args[0].equalsIgnoreCase("reports")) {
|
||||
report = true;
|
||||
}
|
||||
}
|
||||
if (!PlayerFunctions.isInPlot(plr) && !report) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT);
|
||||
return false;
|
||||
}
|
||||
final Plot plot = PlayerFunctions.getCurrentPlot(plr);
|
||||
if (plot != null && !plot.hasOwner()) {
|
||||
if ((plot != null) && !plot.hasOwner()) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT);
|
||||
return false;
|
||||
}
|
||||
|
||||
Integer tier;
|
||||
final UUID uuid = UUIDHandler.getUUID(plr);
|
||||
if (BukkitMain.hasPermission(plr, "plots.comment.admin")) {
|
||||
tier = 0;
|
||||
} else if (plot != null && plot.owner.equals(uuid)) {
|
||||
} else if ((plot != null) && plot.owner.equals(uuid)) {
|
||||
tier = 1;
|
||||
} else if (plot != null && plot.helpers.contains(uuid)) {
|
||||
} else if ((plot != null) && plot.helpers.contains(uuid)) {
|
||||
tier = 2;
|
||||
} else if (plot != null && plot.trusted.contains(uuid)) {
|
||||
} else if ((plot != null) && plot.trusted.contains(uuid)) {
|
||||
tier = 3;
|
||||
} else {
|
||||
tier = 4;
|
||||
}
|
||||
final boolean below;
|
||||
if (args.length > 0) {
|
||||
below = false;
|
||||
below = false;
|
||||
switch (args[0].toLowerCase()) {
|
||||
case "admin":
|
||||
if (tier <= 0) {
|
||||
tier = 0;
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.admin");
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.admin");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
@ -91,7 +88,7 @@ public class Inbox extends SubCommand {
|
||||
if (tier <= 1) {
|
||||
tier = 1;
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.owner");
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.owner");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
@ -99,7 +96,7 @@ public class Inbox extends SubCommand {
|
||||
if (tier <= 2) {
|
||||
tier = 2;
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.helper");
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.helper");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
@ -107,7 +104,7 @@ public class Inbox extends SubCommand {
|
||||
if (tier <= 3) {
|
||||
tier = 3;
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.trusted");
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.trusted");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
@ -115,45 +112,40 @@ public class Inbox extends SubCommand {
|
||||
if (tier <= 4) {
|
||||
tier = 4;
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.everyone");
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.everyone");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case "reports":
|
||||
if (tier <= 0) {
|
||||
if (tier <= 0) {
|
||||
tier = -1;
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.admin");
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.inbox.admin");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_INBOX, Arrays.copyOfRange(new String[]{"admin", "owner", "helper", "trusted", "everyone"}, Math.max(0, tier), 4));
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_INBOX, Arrays.copyOfRange(new String[] { "admin", "owner", "helper", "trusted", "everyone" }, Math.max(0, tier), 4));
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
below = true;
|
||||
}
|
||||
else {
|
||||
below = true;
|
||||
}
|
||||
|
||||
final String world = plr.getWorld().getName();
|
||||
final int tier2 = tier;
|
||||
|
||||
Bukkit.getScheduler().runTaskAsynchronously(PlotSquared.getMain(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
ArrayList<PlotComment> comments = null;
|
||||
if (tier2 == -1) {
|
||||
comments = DBFunc.getComments(world, null, 0, false);
|
||||
}
|
||||
else {
|
||||
comments = plot.settings.getComments(tier2);
|
||||
}
|
||||
ArrayList<PlotComment> comments = null;
|
||||
if (tier2 == -1) {
|
||||
comments = DBFunc.getComments(world, null, 0, false);
|
||||
} else {
|
||||
comments = plot.settings.getComments(tier2);
|
||||
}
|
||||
if (comments == null) {
|
||||
comments = DBFunc.getComments(world, plot, tier2, below);
|
||||
plot.settings.setComments(comments);
|
||||
}
|
||||
|
||||
if (args.length == 2) {
|
||||
final String[] split = args[1].toLowerCase().split(":");
|
||||
if (!split[0].equals("clear")) {
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -46,8 +45,8 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
/**
|
||||
* @author Citymonstret
|
||||
*/
|
||||
@SuppressWarnings({"javadoc"}) public class Info extends SubCommand {
|
||||
|
||||
@SuppressWarnings({ "javadoc" })
|
||||
public class Info extends SubCommand {
|
||||
public Info() {
|
||||
super(Command.INFO, "Display plot info", "info", CommandCategory.INFO, false);
|
||||
}
|
||||
@ -87,7 +86,7 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
}
|
||||
world = Bukkit.getWorld(args[0]);
|
||||
if (args.length == 3) {
|
||||
args = new String[]{args[2]};
|
||||
args = new String[] { args[2] };
|
||||
} else {
|
||||
args = new String[0];
|
||||
}
|
||||
@ -96,28 +95,23 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if ((args.length == 1) && args[0].equalsIgnoreCase("inv")) {
|
||||
new InfoInventory(plot, player).build().display();
|
||||
return true;
|
||||
}
|
||||
|
||||
final boolean hasOwner = plot.hasOwner();
|
||||
boolean containsEveryone;
|
||||
boolean trustedEveryone;
|
||||
|
||||
// Wildcard player {added}
|
||||
{
|
||||
containsEveryone = (plot.helpers != null) && plot.helpers.contains(DBFunc.everyone);
|
||||
trustedEveryone = (plot.trusted != null) && plot.trusted.contains(DBFunc.everyone);
|
||||
}
|
||||
|
||||
// Unclaimed?
|
||||
if (!hasOwner && !containsEveryone && !trustedEveryone) {
|
||||
PlayerFunctions.sendMessage(player, C.PLOT_INFO_UNCLAIMED, (plot.id.x + ";" + plot.id.y));
|
||||
return true;
|
||||
}
|
||||
|
||||
String owner = "none";
|
||||
if (plot.owner != null) {
|
||||
owner = UUIDHandler.getName(plot.owner);
|
||||
@ -126,7 +120,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
owner = plot.owner.toString();
|
||||
}
|
||||
String info = C.PLOT_INFO.s();
|
||||
|
||||
if (args.length == 1) {
|
||||
info = getCaption(args[0].toLowerCase());
|
||||
if (info == null) {
|
||||
@ -134,7 +127,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
info = format(info, world, plot, player);
|
||||
PlayerFunctions.sendMessage(player, C.PLOT_INFO_HEADER);
|
||||
PlayerFunctions.sendMessage(player, info, false);
|
||||
@ -169,7 +161,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
}
|
||||
|
||||
private String format(String info, final World world, final Plot plot, final Player player) {
|
||||
|
||||
final PlotId id = plot.id;
|
||||
final PlotId id2 = PlayerFunctions.getTopPlot(world, plot).id;
|
||||
final int num = PlayerFunctions.getPlotSelectionIds(id, id2).size();
|
||||
@ -181,7 +172,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
final String rating = String.format("%.1f", DBFunc.getRatings(plot));
|
||||
final String flags = "&6" + (StringUtils.join(FlagManager.getPlotFlags(plot), "").length() > 0 ? StringUtils.join(FlagManager.getPlotFlags(plot), "&7, &6") : "none");
|
||||
final boolean build = (player == null) || plot.hasRights(player);
|
||||
|
||||
String owner = "none";
|
||||
if (plot.owner != null) {
|
||||
owner = UUIDHandler.getName(plot.owner);
|
||||
@ -189,7 +179,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
if (owner == null) {
|
||||
owner = plot.owner.toString();
|
||||
}
|
||||
|
||||
info = info.replaceAll("%alias%", alias);
|
||||
info = info.replaceAll("%id%", id.toString());
|
||||
info = info.replaceAll("%id2%", id2.toString());
|
||||
@ -203,7 +192,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
info = info.replaceAll("%flags%", flags);
|
||||
info = info.replaceAll("%build%", build + "");
|
||||
info = info.replaceAll("%desc%", "No description set.");
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
@ -230,7 +218,7 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
if (uuid.equals(DBFunc.everyone) || uuid.toString().equalsIgnoreCase(DBFunc.everyone.toString())) {
|
||||
return "everyone";
|
||||
}
|
||||
String name = UUIDHandler.getName(uuid);
|
||||
final String name = UUIDHandler.getName(uuid);
|
||||
if (name == null) {
|
||||
return "unknown";
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -31,7 +30,6 @@ import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public class Inventory extends SubCommand {
|
||||
|
||||
public Inventory() {
|
||||
super("inventory", "plots.inventory", "Open a command inventory", "inventory", "inv", CommandCategory.INFO, true);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@ -30,8 +29,8 @@ import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
@SuppressWarnings({"unused", "deprecation", "javadoc"}) public class Kick extends SubCommand {
|
||||
|
||||
@SuppressWarnings({ "unused", "deprecation", "javadoc" })
|
||||
public class Kick extends SubCommand {
|
||||
public Kick() {
|
||||
super(Command.KICK, "Kick a player from your plot", "kick", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -44,12 +43,10 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class MainCommand implements CommandExecutor, TabCompleter {
|
||||
|
||||
/**
|
||||
* Main Permission Node
|
||||
*/
|
||||
private final static SubCommand[] _subCommands = new SubCommand[]{new Setup(), new DebugSaveTest(), new DebugLoadTest(), new CreateRoadSchematic(), new RegenAllRoads(), new DebugClear(), new Ban(), new Unban(), new OP(), new DEOP(), new Claim(), new Paste(), new Copy(), new Clipboard(), 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 Setup(), new DebugSaveTest(), new DebugLoadTest(), new CreateRoadSchematic(), new RegenAllRoads(), new DebugClear(), new Ban(), new Unban(), new OP(), new DEOP(), new Claim(), new Paste(), new Copy(), new Clipboard(), 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() };
|
||||
public final static ArrayList<SubCommand> subCommands = new ArrayList<SubCommand>() {
|
||||
{
|
||||
addAll(Arrays.asList(_subCommands));
|
||||
@ -64,11 +61,11 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||
public static List<SubCommand> getCommands(final SubCommand.CommandCategory category, final Player player) {
|
||||
final List<SubCommand> cmds = new ArrayList<>();
|
||||
for (final SubCommand c : subCommands) {
|
||||
if (!c.isPlayer || player != null) {
|
||||
if ((c.category.equals(category)) && c.permission.hasPermission(player)) {
|
||||
cmds.add(c);
|
||||
}
|
||||
}
|
||||
if (!c.isPlayer || (player != null)) {
|
||||
if ((c.category.equals(category)) && c.permission.hasPermission(player)) {
|
||||
cmds.add(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
return cmds;
|
||||
}
|
||||
@ -91,15 +88,11 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||
if (max > commands.size()) {
|
||||
max = commands.size();
|
||||
}
|
||||
|
||||
final List<String> help = new ArrayList<>();
|
||||
|
||||
help.add(C.HELP_HEADER.s());
|
||||
// HELP_CATEGORY("&cCategory: &6%category%&c, Page: %current%&c/&6%max%&c, Displaying: &6%dis%&c/&6%total%"),
|
||||
help.add(C.HELP_CATEGORY.s().replace("%category%", category == null ? "All" : category.toString()).replace("%current%", "" + (page + 1)).replace("%max%", "" + (totalPages + 1)).replace("%dis%", "" + (commands.size() % perPage)).replace("%total%", "" + commands.size()));
|
||||
|
||||
SubCommand cmd;
|
||||
|
||||
final int start = page * perPage;
|
||||
for (int x = start; x < max; x++) {
|
||||
cmd = commands.get(x);
|
||||
@ -120,11 +113,9 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||
@Override
|
||||
public boolean onCommand(final CommandSender sender, final Command cmd, final String commandLabel, final String[] args) {
|
||||
final Player player = (sender instanceof Player) ? (Player) sender : null;
|
||||
|
||||
if (!BukkitMain.hasPermission(player, PlotSquared.MAIN_PERMISSION)) {
|
||||
return no_permission(player, PlotSquared.MAIN_PERMISSION);
|
||||
}
|
||||
|
||||
if ((args.length < 1) || ((args.length >= 1) && (args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("he")))) {
|
||||
if (args.length < 2) {
|
||||
final StringBuilder builder = new StringBuilder();
|
||||
@ -143,7 +134,7 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (cato == null && !cat.equalsIgnoreCase("all")) {
|
||||
if ((cato == null) && !cat.equalsIgnoreCase("all")) {
|
||||
final StringBuilder builder = new StringBuilder();
|
||||
builder.append(C.HELP_INFO.s());
|
||||
for (final SubCommand.CommandCategory category : SubCommand.CommandCategory.values()) {
|
||||
@ -153,16 +144,13 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||
}
|
||||
final StringBuilder help = new StringBuilder();
|
||||
int page = 0;
|
||||
|
||||
boolean digit = true;
|
||||
|
||||
String arg2;
|
||||
if (args.length > 2) {
|
||||
arg2 = args[2];
|
||||
} else {
|
||||
arg2 = "1";
|
||||
}
|
||||
|
||||
for (final char c : arg2.toCharArray()) {
|
||||
if (!Character.isDigit(c)) {
|
||||
digit = false;
|
||||
@ -175,7 +163,6 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||
page = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for (final String string : helpMenu(player, cato, page)) {
|
||||
help.append(string).append("\n");
|
||||
}
|
||||
@ -198,12 +185,10 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||
}
|
||||
}
|
||||
PlayerFunctions.sendMessage(player, C.NOT_VALID_SUBCOMMAND);
|
||||
|
||||
final String[] commands = new String[subCommands.size()];
|
||||
for (int x = 0; x < subCommands.size(); x++) {
|
||||
commands[x] = subCommands.get(x).cmd;
|
||||
}
|
||||
|
||||
/* Let's try to get a proper usage string */
|
||||
final String command = new StringComparison(args[0], commands).getBestMatch();
|
||||
return PlayerFunctions.sendMessage(player, C.DID_YOU_MEAN, "/plot " + command);
|
||||
@ -219,7 +204,6 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||
return null;
|
||||
}
|
||||
final Player player = (Player) commandSender;
|
||||
|
||||
if (strings.length < 1) {
|
||||
if ((strings.length == 0) || "plots".startsWith(s)) {
|
||||
return Arrays.asList("plots");
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -45,9 +44,8 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
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 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);
|
||||
@ -86,7 +84,7 @@ public class Merge extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.PLOT_UNOWNED);
|
||||
return false;
|
||||
}
|
||||
boolean admin = BukkitMain.hasPermission(plr, "plots.admin.command.merge");
|
||||
final boolean admin = BukkitMain.hasPermission(plr, "plots.admin.command.merge");
|
||||
if (!plot.getOwner().equals(UUIDHandler.getUUID(plr)) && !admin) {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PLOT_PERMS);
|
||||
return false;
|
||||
@ -128,21 +126,15 @@ public class Merge extends SubCommand {
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
PlotId botId = plots.get(0);
|
||||
PlotId topId = plots.get(plots.size() - 1);
|
||||
|
||||
PlotId bot1 = PlayerFunctions.getBottomPlot(world, PlotHelper.getPlot(world, botId)).id;
|
||||
PlotId bot2 = PlayerFunctions.getBottomPlot(world, PlotHelper.getPlot(world, topId)).id;
|
||||
|
||||
PlotId top1 = PlayerFunctions.getTopPlot(world, PlotHelper.getPlot(world, topId)).id;
|
||||
PlotId top2 = PlayerFunctions.getTopPlot(world, PlotHelper.getPlot(world, botId)).id;
|
||||
|
||||
final PlotId botId = plots.get(0);
|
||||
final PlotId topId = plots.get(plots.size() - 1);
|
||||
final PlotId bot1 = PlayerFunctions.getBottomPlot(world, PlotHelper.getPlot(world, botId)).id;
|
||||
final PlotId bot2 = PlayerFunctions.getBottomPlot(world, PlotHelper.getPlot(world, topId)).id;
|
||||
final PlotId top1 = PlayerFunctions.getTopPlot(world, PlotHelper.getPlot(world, topId)).id;
|
||||
final PlotId top2 = PlayerFunctions.getTopPlot(world, PlotHelper.getPlot(world, botId)).id;
|
||||
bot = new PlotId(Math.min(bot1.x, bot2.x), Math.min(bot1.y, bot2.y));
|
||||
top = new PlotId(Math.max(top1.x, top2.x), Math.max(top1.y, top2.y));
|
||||
|
||||
plots = PlayerFunctions.getMaxPlotSelectionIds(world, bot, top);
|
||||
|
||||
for (final PlotId myid : plots) {
|
||||
final Plot myplot = PlotSquared.getPlots(world).get(myid);
|
||||
if ((myplot == null) || !myplot.hasOwner() || !(myplot.getOwner().equals(UUIDHandler.getUUID(plr)) || admin)) {
|
||||
@ -150,7 +142,6 @@ public class Merge extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
final PlotWorld plotWorld = PlotSquared.getWorldSettings(world);
|
||||
if (PlotSquared.useEconomy && plotWorld.USE_ECONOMY) {
|
||||
double cost = plotWorld.MERGE_PRICE;
|
||||
@ -165,9 +156,7 @@ public class Merge extends SubCommand {
|
||||
sendMessage(plr, C.REMOVED_BALANCE, cost + "");
|
||||
}
|
||||
}
|
||||
|
||||
final PlotMergeEvent event = new PlotMergeEvent(world, plot, plots);
|
||||
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
event.setCancelled(true);
|
||||
@ -176,7 +165,6 @@ public class Merge extends SubCommand {
|
||||
}
|
||||
PlayerFunctions.sendMessage(plr, "&cPlots have been merged");
|
||||
PlotHelper.mergePlots(world, plots, true);
|
||||
|
||||
PlotHelper.setSign(world, UUIDHandler.getName(plot.owner), plot);
|
||||
PlotHelper.update(plr.getLocation());
|
||||
return true;
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.World;
|
||||
@ -34,7 +33,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* @author Empire92
|
||||
*/
|
||||
public class Move extends SubCommand {
|
||||
|
||||
public Move() {
|
||||
super("debugmove", "plots.admin", "plot moving debug test", "debugmove", "move", CommandCategory.DEBUG, true);
|
||||
}
|
||||
@ -48,10 +46,10 @@ public class Move extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, "/plot move <pos1> <pos2>");
|
||||
return false;
|
||||
}
|
||||
World world = plr.getWorld();
|
||||
PlotId plot1 = PlotHelper.parseId(args[0]);
|
||||
PlotId plot2 = PlotHelper.parseId(args[1]);
|
||||
if (plot1 == null || plot2 == null) {
|
||||
final World world = plr.getWorld();
|
||||
final PlotId plot1 = PlotHelper.parseId(args[0]);
|
||||
final PlotId plot2 = PlotHelper.parseId(args[1]);
|
||||
if ((plot1 == null) || (plot2 == null)) {
|
||||
PlayerFunctions.sendMessage(plr, "INVALID PLOT ID\n/plot move <pos1> <pos2>");
|
||||
return false;
|
||||
}
|
||||
@ -66,8 +64,7 @@ public class Move extends SubCommand {
|
||||
}
|
||||
})) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(plr, "MOVE FAILED");
|
||||
return false;
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
@ -12,7 +12,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class OP extends SubCommand {
|
||||
|
||||
public OP() {
|
||||
super(Command.OP, "Alias for /plot trusted add", "/plot op [player]", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -31,7 +30,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
public class Paste extends SubCommand {
|
||||
|
||||
public Paste() {
|
||||
super(Command.PASTE, "Paste a plot", "paste", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -53,7 +51,6 @@ public class Paste extends SubCommand {
|
||||
}
|
||||
assert plot != null;
|
||||
final int size = (PlotHelper.getPlotTopLocAbs(plr.getWorld(), plot.getId()).getBlockX() - PlotHelper.getPlotBottomLocAbs(plr.getWorld(), plot.getId()).getBlockX());
|
||||
|
||||
if (PlotSelection.currentSelection.containsKey(plr.getName())) {
|
||||
final PlotSelection selection = PlotSelection.currentSelection.get(plr.getName());
|
||||
if (size != selection.getWidth()) {
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.Collection;
|
||||
@ -38,18 +37,17 @@ import com.intellectualcrafters.plot.object.PlotId;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
@SuppressWarnings({"javadoc"}) public class Purge extends SubCommand {
|
||||
|
||||
@SuppressWarnings({ "javadoc" })
|
||||
public class Purge extends SubCommand {
|
||||
public Purge() {
|
||||
super("purge", "plots.admin", "Purge all plots for a world", "purge", "", CommandCategory.DEBUG, false);
|
||||
}
|
||||
|
||||
public PlotId getId(String id) {
|
||||
public PlotId getId(final String id) {
|
||||
try {
|
||||
String[] split = id.split(";");
|
||||
final String[] split = id.split(";");
|
||||
return new PlotId(Integer.parseInt(split[0]), Integer.parseInt(split[1]));
|
||||
}
|
||||
catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -61,15 +59,15 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
return false;
|
||||
}
|
||||
if (args.length == 1) {
|
||||
String arg = args[0].toLowerCase();
|
||||
PlotId id = getId(arg);
|
||||
final String arg = args[0].toLowerCase();
|
||||
final PlotId id = getId(arg);
|
||||
if (id != null) {
|
||||
PlayerFunctions.sendMessage(plr, "/plot purge x;z &l<world>");
|
||||
return false;
|
||||
}
|
||||
UUID uuid = UUIDHandler.getUUID(args[0]);
|
||||
final UUID uuid = UUIDHandler.getUUID(args[0]);
|
||||
if (uuid != null) {
|
||||
PlayerFunctions.sendMessage(plr, "/plot purge "+args[0]+" &l<world>");
|
||||
PlayerFunctions.sendMessage(plr, "/plot purge " + args[0] + " &l<world>");
|
||||
return false;
|
||||
}
|
||||
if (arg.equals("player")) {
|
||||
@ -95,68 +93,68 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
PlayerFunctions.sendMessage(plr, C.PURGE_SYNTAX);
|
||||
return false;
|
||||
}
|
||||
World world = Bukkit.getWorld(args[1]);
|
||||
if (world == null || !PlotSquared.isPlotWorld(world)) {
|
||||
final World world = Bukkit.getWorld(args[1]);
|
||||
if ((world == null) || !PlotSquared.isPlotWorld(world)) {
|
||||
PlayerFunctions.sendMessage(null, C.NOT_VALID_PLOT_WORLD);
|
||||
return false;
|
||||
}
|
||||
String worldname = world.getName();
|
||||
String arg = args[0].toLowerCase();
|
||||
PlotId id = getId(arg);
|
||||
final String worldname = world.getName();
|
||||
final String arg = args[0].toLowerCase();
|
||||
final PlotId id = getId(arg);
|
||||
if (id != null) {
|
||||
HashSet<Integer> ids = new HashSet<Integer>();
|
||||
int DBid = DBFunc.getId(worldname, id);
|
||||
final HashSet<Integer> ids = new HashSet<Integer>();
|
||||
final int DBid = DBFunc.getId(worldname, id);
|
||||
if (DBid != Integer.MAX_VALUE) {
|
||||
ids.add(DBid);
|
||||
}
|
||||
DBFunc.purgeIds(worldname, ids);
|
||||
return finishPurge(DBid == Integer.MAX_VALUE ? 1 : 0);
|
||||
}
|
||||
UUID uuid = UUIDHandler.getUUID(args[0]);
|
||||
final UUID uuid = UUIDHandler.getUUID(args[0]);
|
||||
if (uuid != null) {
|
||||
Set<Plot> plots = PlotSquared.getPlots(world,uuid);
|
||||
Set<PlotId> ids = new HashSet<>();
|
||||
for (Plot plot : plots) {
|
||||
final Set<Plot> plots = PlotSquared.getPlots(world, uuid);
|
||||
final Set<PlotId> ids = new HashSet<>();
|
||||
for (final Plot plot : plots) {
|
||||
ids.add(plot.id);
|
||||
}
|
||||
DBFunc.purge(worldname, ids);
|
||||
return finishPurge(ids.size());
|
||||
}
|
||||
if (arg.equals("all")) {
|
||||
Set<PlotId> ids = PlotSquared.getPlots(world).keySet();
|
||||
final Set<PlotId> ids = PlotSquared.getPlots(world).keySet();
|
||||
if (ids.size() == 0) {
|
||||
return PlayerFunctions.sendMessage(null, "&cNo plots found");
|
||||
return PlayerFunctions.sendMessage(null, "&cNo plots found");
|
||||
}
|
||||
DBFunc.purge(worldname, ids);
|
||||
return finishPurge(ids.size());
|
||||
}
|
||||
if (arg.equals("unknown")) {
|
||||
Collection<Plot> plots = PlotSquared.getPlots(world).values();
|
||||
Set<PlotId> ids = new HashSet<>();
|
||||
for (Plot plot : plots) {
|
||||
final Collection<Plot> plots = PlotSquared.getPlots(world).values();
|
||||
final Set<PlotId> ids = new HashSet<>();
|
||||
for (final Plot plot : plots) {
|
||||
if (plot.owner != null) {
|
||||
String name = UUIDHandler.getName(plot.owner);
|
||||
final String name = UUIDHandler.getName(plot.owner);
|
||||
if (name == null) {
|
||||
ids.add(plot.id);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ids.size() == 0) {
|
||||
return PlayerFunctions.sendMessage(null, "&cNo plots found");
|
||||
return PlayerFunctions.sendMessage(null, "&cNo plots found");
|
||||
}
|
||||
DBFunc.purge(worldname, ids);
|
||||
return finishPurge(ids.size());
|
||||
}
|
||||
if (arg.equals("unowned")) {
|
||||
Collection<Plot> plots = PlotSquared.getPlots(world).values();
|
||||
Set<PlotId> ids = new HashSet<>();
|
||||
for (Plot plot : plots) {
|
||||
final Collection<Plot> plots = PlotSquared.getPlots(world).values();
|
||||
final Set<PlotId> ids = new HashSet<>();
|
||||
for (final Plot plot : plots) {
|
||||
if (plot.owner == null) {
|
||||
ids.add(plot.id);
|
||||
}
|
||||
}
|
||||
if (ids.size() == 0) {
|
||||
return PlayerFunctions.sendMessage(null, "&cNo plots found");
|
||||
return PlayerFunctions.sendMessage(null, "&cNo plots found");
|
||||
}
|
||||
DBFunc.purge(worldname, ids);
|
||||
return finishPurge(ids.size());
|
||||
@ -165,9 +163,8 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean finishPurge(int amount) {
|
||||
private boolean finishPurge(final int amount) {
|
||||
PlayerFunctions.sendMessage(null, C.PURGE_SUCCESS, amount + "");
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -29,13 +28,12 @@ import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
@SuppressWarnings({"unused", "deprecated", "javadoc"}) public class Rate extends SubCommand {
|
||||
|
||||
@SuppressWarnings({ "unused", "deprecated", "javadoc" })
|
||||
public class Rate extends SubCommand {
|
||||
/*
|
||||
* String cmd, String permission, String description, String usage, String
|
||||
* alias, CommandCategory category
|
||||
*/
|
||||
|
||||
public Rate() {
|
||||
super("rate", "plots.rate", "Rate the plot", "rate {0-10}", "rt", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -82,7 +80,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
} catch (final Exception e) {
|
||||
rated = false;
|
||||
}
|
||||
|
||||
if (rated) {
|
||||
sendMessage(plr, C.RATING_ALREADY_EXISTS, plot.getId().toString());
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -35,49 +34,38 @@ import com.intellectualcrafters.plot.object.PlotManager;
|
||||
import com.intellectualcrafters.plot.util.bukkit.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 Player player, final String... args) {
|
||||
|
||||
if (player != null) {
|
||||
sendMessage(player, C.NOT_CONSOLE);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args.length != 1) {
|
||||
sendMessage(player, C.NEED_PLOT_WORLD);
|
||||
return false;
|
||||
}
|
||||
|
||||
String name = args[0];
|
||||
PlotManager manager = PlotSquared.getPlotManager(name);
|
||||
|
||||
if (manager == null || !(manager instanceof HybridPlotManager)) {
|
||||
final String name = args[0];
|
||||
final PlotManager manager = PlotSquared.getPlotManager(name);
|
||||
if ((manager == null) || !(manager instanceof HybridPlotManager)) {
|
||||
sendMessage(player, C.NOT_VALID_PLOT_WORLD);
|
||||
return false;
|
||||
}
|
||||
|
||||
HybridPlotManager hpm = (HybridPlotManager) manager;
|
||||
|
||||
World world = Bukkit.getWorld(name);
|
||||
ArrayList<ChunkLoc> chunks = ChunkManager.getChunkChunks(world);
|
||||
|
||||
final HybridPlotManager hpm = (HybridPlotManager) manager;
|
||||
final World world = Bukkit.getWorld(name);
|
||||
final ArrayList<ChunkLoc> chunks = ChunkManager.getChunkChunks(world);
|
||||
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));
|
||||
PlotSquared.log("&6Estimated time: &7"+ (chunks.size()) + " seconds");
|
||||
|
||||
boolean result = hpm.scheduleRoadUpdate(world);
|
||||
|
||||
PlotSquared.log("&6Potential chunks to update: &7" + (chunks.size() * 1024));
|
||||
PlotSquared.log("&6Estimated time: &7" + (chunks.size()) + " seconds");
|
||||
final boolean result = hpm.scheduleRoadUpdate(world);
|
||||
if (!result) {
|
||||
PlotSquared.log("&cCannot schedule mass schematic update! (Is one already in progress?)");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -29,7 +28,6 @@ import com.intellectualcrafters.plot.object.PlotWorld;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class Reload extends SubCommand {
|
||||
|
||||
public Reload() {
|
||||
super("reload", "plots.admin.command.reload", "Reload configurations", "", "reload", CommandCategory.INFO, false);
|
||||
}
|
||||
@ -52,5 +50,4 @@ public class Reload extends SubCommand {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.Collection;
|
||||
@ -45,7 +44,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
public class Schematic extends SubCommand {
|
||||
|
||||
private int counter = 0;
|
||||
private boolean running = false;
|
||||
private Plot[] plots;
|
||||
@ -99,22 +97,17 @@ public class Schematic extends SubCommand {
|
||||
Schematic.this.running = false;
|
||||
return;
|
||||
}
|
||||
|
||||
final int x;
|
||||
final int z;
|
||||
|
||||
final Plot plot2 = PlayerFunctions.getCurrentPlot(plr);
|
||||
|
||||
final Dimension dem = schematic.getSchematicDimension();
|
||||
final Location bot = PlotHelper.getPlotBottomLoc(plr.getWorld(), plot2.id).add(1, 0, 1);
|
||||
final int length2 = PlotHelper.getPlotWidth(plr.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;
|
||||
return;
|
||||
}
|
||||
|
||||
if ((dem.getX() != length2) || (dem.getZ() != length2)) {
|
||||
final Location loc = plr.getLocation();
|
||||
x = Math.min(length2 - dem.getX(), loc.getBlockX() - bot.getBlockX());
|
||||
@ -123,7 +116,6 @@ public class Schematic extends SubCommand {
|
||||
x = 0;
|
||||
z = 0;
|
||||
}
|
||||
|
||||
final World w = plot2.getWorld();
|
||||
final DataCollection[] b = schematic.getBlockCollection();
|
||||
final int sy = w.getHighestBlockYAt(bot.getBlockX(), bot.getBlockZ());
|
||||
@ -131,7 +123,6 @@ public class Schematic extends SubCommand {
|
||||
final int WIDTH = schematic.getSchematicDimension().getX();
|
||||
final int LENGTH = schematic.getSchematicDimension().getZ();
|
||||
final int blen = b.length - 1;
|
||||
|
||||
Schematic.this.task = Bukkit.getScheduler().scheduleSyncRepeatingTask(PlotSquared.getMain(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -173,13 +164,10 @@ public class Schematic extends SubCommand {
|
||||
sendMessage(plr, C.SCHEMATIC_INVALID, "non-existent");
|
||||
break;
|
||||
}
|
||||
|
||||
final int l1 = schematic.getSchematicDimension().getX();
|
||||
final int l2 = schematic.getSchematicDimension().getZ();
|
||||
|
||||
final Plot plot = PlayerFunctions.getCurrentPlot(plr);
|
||||
final int length = PlotHelper.getPlotWidth(plr.getWorld(), plot.id);
|
||||
|
||||
if ((l1 < length) || (l2 < length)) {
|
||||
sendMessage(plr, C.SCHEMATIC_INVALID, String.format("Wrong size (x: %s, z: %d) vs %d ", l1, l2, length));
|
||||
break;
|
||||
@ -205,19 +193,15 @@ public class Schematic extends SubCommand {
|
||||
PlayerFunctions.sendMessage(null, "&cTask is already running.");
|
||||
return false;
|
||||
}
|
||||
|
||||
PlotSquared.log("&3PlotSquared&8->&3Schemaitc&8: &7Mass export has started. This may take a while.");
|
||||
PlotSquared.log("&3PlotSquared&8->&3Schemaitc&8: &7Found &c" + plotmap.size() + "&7 plots...");
|
||||
final World worldObj = Bukkit.getWorld(args[1]);
|
||||
final String worldname = Bukkit.getWorld(args[1]).getName();
|
||||
|
||||
final Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("PlotSquared");
|
||||
|
||||
final Collection<Plot> values = plotmap.values();
|
||||
this.plots = values.toArray(new Plot[values.size()]);
|
||||
this.running = true;
|
||||
this.counter = 0;
|
||||
|
||||
this.task = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -295,13 +279,10 @@ public class Schematic extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
final Plugin plugin2 = Bukkit.getServer().getPluginManager().getPlugin("PlotSquared");
|
||||
|
||||
this.plots = new Plot[]{p2};
|
||||
this.plots = new Plot[] { p2 };
|
||||
this.running = true;
|
||||
this.counter = 0;
|
||||
|
||||
this.task = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin2, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.Arrays;
|
||||
@ -56,9 +55,8 @@ 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[] aliases = new String[]{"b", "w", "wf", "f", "a", "h", "fl"};
|
||||
public final static String[] values = new String[] { "biome", "wall", "wall_filling", "floor", "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);
|
||||
@ -96,7 +94,6 @@ public class Set extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.set." + args[0].toLowerCase());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("flag")) {
|
||||
if (args.length < 2) {
|
||||
String message = StringUtils.join(FlagManager.getFlags(plr), "&c, &6");
|
||||
@ -110,15 +107,12 @@ public class Set extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.NEED_KEY.s().replaceAll("%values%", message));
|
||||
return false;
|
||||
}
|
||||
|
||||
AbstractFlag af;
|
||||
|
||||
try {
|
||||
af = FlagManager.getFlag(args[1].toLowerCase());
|
||||
} catch (final Exception e) {
|
||||
af = new AbstractFlag(args[1].toLowerCase());
|
||||
}
|
||||
|
||||
if (!FlagManager.getFlags().contains(af) && ((PlotSquared.worldGuardListener == null) || !PlotSquared.worldGuardListener.str_flags.contains(args[1].toLowerCase()))) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_VALID_FLAG);
|
||||
return false;
|
||||
@ -138,9 +132,7 @@ public class Set extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.FLAG_NOT_IN_PLOT);
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean result = FlagManager.removePlotFlag(plot, args[1].toLowerCase());
|
||||
|
||||
final boolean result = FlagManager.removePlotFlag(plot, args[1].toLowerCase());
|
||||
if (!result) {
|
||||
PlayerFunctions.sendMessage(plr, C.FLAG_NOT_REMOVED);
|
||||
return false;
|
||||
@ -150,20 +142,18 @@ public class Set extends SubCommand {
|
||||
return true;
|
||||
}
|
||||
try {
|
||||
String value = StringUtils.join(Arrays.copyOfRange(args, 2, args.length), " ");
|
||||
Object parsed_value = af.parseValueRaw(value);
|
||||
final String value = StringUtils.join(Arrays.copyOfRange(args, 2, args.length), " ");
|
||||
final Object parsed_value = af.parseValueRaw(value);
|
||||
if (parsed_value == null) {
|
||||
PlayerFunctions.sendMessage(plr, af.getValueDesc());
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((FlagManager.getFlag(args[1].toLowerCase()) == null) && (PlotSquared.worldGuardListener != null)) {
|
||||
PlotSquared.worldGuardListener.addFlag(plr, plr.getWorld(), plot, args[1], af.toString(parsed_value));
|
||||
return false;
|
||||
}
|
||||
|
||||
final Flag flag = new Flag(FlagManager.getFlag(args[1].toLowerCase(), true), parsed_value);
|
||||
boolean result = FlagManager.addPlotFlag(plot, flag);
|
||||
final boolean result = FlagManager.addPlotFlag(plot, flag);
|
||||
if (!result) {
|
||||
PlayerFunctions.sendMessage(plr, C.FLAG_NOT_ADDED);
|
||||
return false;
|
||||
@ -176,7 +166,6 @@ public class Set extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("home")) {
|
||||
if (args.length > 1) {
|
||||
if (args[1].equalsIgnoreCase("none")) {
|
||||
@ -187,16 +176,15 @@ public class Set extends SubCommand {
|
||||
return PlayerFunctions.sendMessage(plr, C.HOME_ARGUMENT);
|
||||
}
|
||||
//set to current location
|
||||
World world = plr.getWorld();
|
||||
Location base = PlotHelper.getPlotBottomLoc(world, plot.id);
|
||||
final World world = plr.getWorld();
|
||||
final Location base = PlotHelper.getPlotBottomLoc(world, plot.id);
|
||||
base.setY(0);
|
||||
Location relative = plr.getLocation().subtract(base);
|
||||
BlockLoc blockloc = new BlockLoc(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ());
|
||||
final Location relative = plr.getLocation().subtract(base);
|
||||
final BlockLoc blockloc = new BlockLoc(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ());
|
||||
plot.settings.setPosition(blockloc);
|
||||
DBFunc.setPosition(plr.getWorld().getName(), plot, relative.getBlockX() + "," + relative.getBlockY() + "," + relative.getBlockZ());
|
||||
return PlayerFunctions.sendMessage(plr, C.POSITION_SET);
|
||||
}
|
||||
|
||||
if (args[0].equalsIgnoreCase("alias")) {
|
||||
if (args.length < 2) {
|
||||
PlayerFunctions.sendMessage(plr, C.MISSING_ALIAS);
|
||||
@ -230,7 +218,6 @@ public class Set extends SubCommand {
|
||||
sendMessage(plr, C.NAME_LITTLE, "Biome", args[1].length() + "", "2");
|
||||
return true;
|
||||
}
|
||||
|
||||
final Biome biome = Biome.valueOf(new StringComparison(args[1], Biome.values()).getBestMatch());
|
||||
/*
|
||||
* for (Biome b : Biome.values()) {
|
||||
@ -240,7 +227,6 @@ public class Set extends SubCommand {
|
||||
* }
|
||||
* }
|
||||
*/
|
||||
|
||||
if (biome == null) {
|
||||
PlayerFunctions.sendMessage(plr, getBiomeList(Arrays.asList(Biome.values())));
|
||||
return true;
|
||||
@ -249,13 +235,12 @@ public class Set extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.BIOME_SET_TO.s() + biome.toString().toLowerCase());
|
||||
return true;
|
||||
}
|
||||
|
||||
// Get components
|
||||
World world = plr.getWorld();
|
||||
final World world = plr.getWorld();
|
||||
final PlotWorld plotworld = PlotSquared.getWorldSettings(world);
|
||||
PlotManager manager = PlotSquared.getPlotManager(world);
|
||||
String[] components = manager.getPlotComponents(world, plotworld, plot.id);
|
||||
for (String component : components) {
|
||||
final PlotManager manager = PlotSquared.getPlotManager(world);
|
||||
final String[] components = manager.getPlotComponents(world, plotworld, plot.id);
|
||||
for (final String component : components) {
|
||||
if (component.equalsIgnoreCase(args[0])) {
|
||||
if (args.length < 2) {
|
||||
PlayerFunctions.sendMessage(plr, C.NEED_BLOCK);
|
||||
@ -264,14 +249,13 @@ public class Set extends SubCommand {
|
||||
PlotBlock[] blocks;
|
||||
try {
|
||||
blocks = (PlotBlock[]) Configuration.BLOCKLIST.parseObject(args[2]);
|
||||
}
|
||||
catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
try {
|
||||
blocks = new PlotBlock[] {new PlotBlock((short) getMaterial(args[1], PlotWorld.BLOCKS).getId(), (byte) 0)};
|
||||
} catch (Exception e2) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_VALID_BLOCK);
|
||||
return false;
|
||||
}
|
||||
blocks = new PlotBlock[] { new PlotBlock((short) getMaterial(args[1], PlotWorld.BLOCKS).getId(), (byte) 0) };
|
||||
} catch (final Exception e2) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_VALID_BLOCK);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
manager.setComponent(world, plotworld, plot.id, component, blocks);
|
||||
PlayerFunctions.sendMessage(plr, C.GENERATING_COMPONENT);
|
||||
@ -332,14 +316,4 @@ public class Set extends SubCommand {
|
||||
private Material getMaterial(final String input, final List<Material> blocks) {
|
||||
return Material.valueOf(new StringComparison(input, blocks.toArray()).getBestMatch());
|
||||
}
|
||||
|
||||
private String getBlockList(final List<Material> blocks) {
|
||||
final StringBuilder builder = new StringBuilder();
|
||||
builder.append(ChatColor.translateAlternateColorCodes('&', C.NOT_VALID_BLOCK_LIST_HEADER.s()));
|
||||
for (final Material b : blocks) {
|
||||
builder.append(getMaterial(b));
|
||||
}
|
||||
return builder.toString().substring(1, builder.toString().length() - 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -38,7 +37,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
public class SetOwner extends SubCommand {
|
||||
|
||||
public SetOwner() {
|
||||
super("setowner", "plots.set.owner", "Set the plot owner", "setowner {player}", "so", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -48,15 +46,14 @@ public class SetOwner extends SubCommand {
|
||||
* Bukkit.getOfflinePlayer(string); return ((player != null) &&
|
||||
* player.hasPlayedBefore()) ? UUIDHandler.getUUID(player) : null; }
|
||||
*/
|
||||
|
||||
private UUID getUUID(final String string) {
|
||||
return UUIDHandler.getUUID(string);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(final Player plr, final String... args) {
|
||||
Plot plot = PlayerFunctions.getCurrentPlot(plr);
|
||||
if (plot == null || plot.owner == null) {
|
||||
final Plot plot = PlayerFunctions.getCurrentPlot(plr);
|
||||
if ((plot == null) || (plot.owner == null)) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT);
|
||||
return false;
|
||||
}
|
||||
@ -64,7 +61,6 @@ public class SetOwner extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.NEED_USER);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!plot.owner.equals(UUIDHandler.getUUID(plr)) && !BukkitMain.hasPermission(plr, "plots.admin.command.setowner")) {
|
||||
PlayerFunctions.sendMessage(plr, C.NO_PERMISSION, "plots.admin.command.setowner");
|
||||
return false;
|
||||
@ -75,18 +71,14 @@ public class SetOwner extends SubCommand {
|
||||
final ArrayList<PlotId> plots = PlayerFunctions.getPlotSelectionIds(bot, top);
|
||||
for (final PlotId id : plots) {
|
||||
final Plot current = PlotSquared.getPlots(world).get(id);
|
||||
|
||||
UUID uuid = getUUID(args[0]);
|
||||
|
||||
final UUID uuid = getUUID(args[0]);
|
||||
if (uuid == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.INVALID_PLAYER, args[0]);
|
||||
return false;
|
||||
}
|
||||
|
||||
current.owner = uuid;
|
||||
PlotSquared.updatePlot(current);
|
||||
DBFunc.setOwner(current, current.owner);
|
||||
|
||||
if (PlotSquared.worldGuardListener != null) {
|
||||
PlotSquared.worldGuardListener.changeOwner(plr, current.owner, plr.getWorld(), current);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -45,7 +44,6 @@ import com.intellectualcrafters.plot.object.PlotGenerator;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class Setup extends SubCommand {
|
||||
|
||||
public final static Map<String, SetupObject> setupMap = new HashMap<>();
|
||||
public HashMap<String, PlotGenerator> generators = new HashMap<>();
|
||||
|
||||
@ -64,20 +62,20 @@ public class Setup extends SubCommand {
|
||||
}
|
||||
|
||||
public void updateGenerators() {
|
||||
if (generators.size() > 0) {
|
||||
if (this.generators.size() > 0) {
|
||||
return;
|
||||
}
|
||||
String testWorld = "CheckingPlotSquaredGenerator";
|
||||
final String testWorld = "CheckingPlotSquaredGenerator";
|
||||
for (final Plugin plugin : Bukkit.getPluginManager().getPlugins()) {
|
||||
if (plugin.isEnabled()) {
|
||||
ChunkGenerator generator = plugin.getDefaultWorldGenerator(testWorld, "");
|
||||
final ChunkGenerator generator = plugin.getDefaultWorldGenerator(testWorld, "");
|
||||
if (generator != null) {
|
||||
PlotSquared.removePlotWorld(testWorld);
|
||||
final String name = plugin.getDescription().getName();
|
||||
if (generator instanceof PlotGenerator) {
|
||||
PlotGenerator pgen = (PlotGenerator) generator;
|
||||
final PlotGenerator pgen = (PlotGenerator) generator;
|
||||
if (pgen.getPlotManager() instanceof SquarePlotManager) {
|
||||
generators.put(name, pgen);
|
||||
this.generators.put(name, pgen);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -88,15 +86,14 @@ public class Setup extends SubCommand {
|
||||
@Override
|
||||
public boolean execute(final Player plr, final String... args) {
|
||||
// going through setup
|
||||
|
||||
String name = plr.getName();
|
||||
final String name = plr.getName();
|
||||
if (!setupMap.containsKey(name)) {
|
||||
SetupObject object = new SetupObject();
|
||||
final SetupObject object = new SetupObject();
|
||||
setupMap.put(name, object);
|
||||
updateGenerators();
|
||||
String prefix = "\n&8 - &7";
|
||||
final String prefix = "\n&8 - &7";
|
||||
sendMessage(plr, C.SETUP_INIT);
|
||||
PlayerFunctions.sendMessage(plr, "&6What generator do you want?" + prefix + StringUtils.join(generators.keySet(), prefix).replaceAll("PlotSquared", "&2PlotSquared"));
|
||||
PlayerFunctions.sendMessage(plr, "&6What generator do you want?" + prefix + StringUtils.join(this.generators.keySet(), prefix).replaceAll("PlotSquared", "&2PlotSquared"));
|
||||
return false;
|
||||
}
|
||||
if (args.length == 1) {
|
||||
@ -106,86 +103,70 @@ public class Setup extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
if (args[0].equalsIgnoreCase("back")) {
|
||||
SetupObject object = setupMap.get(plr.getName());
|
||||
final SetupObject object = setupMap.get(plr.getName());
|
||||
if (object.setup_index > 0) {
|
||||
object.setup_index--;
|
||||
ConfigurationNode node = object.step[object.current];
|
||||
final ConfigurationNode node = object.step[object.current];
|
||||
sendMessage(plr, C.SETUP_STEP, object.current + 1 + "", node.getDescription(), node.getType().getType(), node.getDefaultValue() + "");
|
||||
return false;
|
||||
}
|
||||
else if (object.current > 0 ){
|
||||
} else if (object.current > 0) {
|
||||
object.current--;
|
||||
}
|
||||
}
|
||||
}
|
||||
SetupObject object = setupMap.get(name);
|
||||
int index = object.current;
|
||||
switch(index) {
|
||||
final SetupObject object = setupMap.get(name);
|
||||
final int index = object.current;
|
||||
switch (index) {
|
||||
case 0: { // choose generator
|
||||
if (args.length != 1 || !generators.containsKey(args[0])) {
|
||||
String prefix = "\n&8 - &7";
|
||||
PlayerFunctions.sendMessage(plr, "&cYou must choose a generator!" + prefix + StringUtils.join(generators.keySet(), prefix).replaceAll("PlotSquared", "&2PlotSquared"));
|
||||
if ((args.length != 1) || !this.generators.containsKey(args[0])) {
|
||||
final String prefix = "\n&8 - &7";
|
||||
PlayerFunctions.sendMessage(plr, "&cYou must choose a generator!" + prefix + StringUtils.join(this.generators.keySet(), prefix).replaceAll("PlotSquared", "&2PlotSquared"));
|
||||
sendMessage(plr, C.SETUP_INIT);
|
||||
return false;
|
||||
}
|
||||
object.generator = args[0];
|
||||
object.current++;
|
||||
|
||||
String partial = Settings.ENABLE_CLUSTERS ? "\n&8 - &7PARTIAL&8 - &7Vanilla with clusters of plots" : "";
|
||||
PlayerFunctions.sendMessage(plr, "&6What world type do you want?"
|
||||
+ "\n&8 - &2DEFAULT&8 - &7Standard plot generation"
|
||||
+ "\n&8 - &7AUGMENTED&8 - &7Plot generation with terrain"
|
||||
+ partial);
|
||||
final String partial = Settings.ENABLE_CLUSTERS ? "\n&8 - &7PARTIAL&8 - &7Vanilla with clusters of plots" : "";
|
||||
PlayerFunctions.sendMessage(plr, "&6What world type do you want?" + "\n&8 - &2DEFAULT&8 - &7Standard plot generation" + "\n&8 - &7AUGMENTED&8 - &7Plot generation with terrain" + partial);
|
||||
break;
|
||||
}
|
||||
case 1: { // choose world type
|
||||
List<String> types;
|
||||
if (Settings.ENABLE_CLUSTERS) {
|
||||
types = Arrays.asList(new String[] {"default", "augmented", "partial"});
|
||||
types = Arrays.asList(new String[] { "default", "augmented", "partial" });
|
||||
} else {
|
||||
types = Arrays.asList(new String[] { "default", "augmented" });
|
||||
}
|
||||
else {
|
||||
types = Arrays.asList(new String[] {"default", "augmented"});
|
||||
}
|
||||
if (args.length != 1 || !types.contains(args[0].toLowerCase())) {
|
||||
PlayerFunctions.sendMessage(plr, "&cYou must choose a world type!"
|
||||
+ "\n&8 - &2DEFAULT&8 - &7Standard plot generation"
|
||||
+ "\n&8 - &7AUGMENTED&8 - &7Plot generation with terrain"
|
||||
+ "\n&8 - &7PARTIAL&8 - &7Vanilla with clusters of plots");
|
||||
if ((args.length != 1) || !types.contains(args[0].toLowerCase())) {
|
||||
PlayerFunctions.sendMessage(plr, "&cYou must choose a world type!" + "\n&8 - &2DEFAULT&8 - &7Standard plot generation" + "\n&8 - &7AUGMENTED&8 - &7Plot generation with terrain" + "\n&8 - &7PARTIAL&8 - &7Vanilla with clusters of plots");
|
||||
return false;
|
||||
}
|
||||
object.type = types.indexOf(args[0].toLowerCase());
|
||||
if (object.type == 0) {
|
||||
object.current++;
|
||||
if (object.step == null) {
|
||||
object.step = generators.get(object.generator).getNewPlotWorld(null).getSettingNodes();
|
||||
object.step = this.generators.get(object.generator).getNewPlotWorld(null).getSettingNodes();
|
||||
}
|
||||
ConfigurationNode step = object.step[object.setup_index];
|
||||
final ConfigurationNode step = object.step[object.setup_index];
|
||||
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1 + "", step.getDescription(), step.getType().getType(), step.getDefaultValue() + "");
|
||||
}
|
||||
else {
|
||||
PlayerFunctions.sendMessage(plr, "&6What terrain would you like in plots?"
|
||||
+ "\n&8 - &2NONE&8 - &7No terrain at all"
|
||||
+ "\n&8 - &7ORE&8 - &7Just some ore veins and trees"
|
||||
+ "\n&8 - &7ALL&8 - &7Entirely vanilla generation");
|
||||
} else {
|
||||
PlayerFunctions.sendMessage(plr, "&6What terrain would you like in plots?" + "\n&8 - &2NONE&8 - &7No terrain at all" + "\n&8 - &7ORE&8 - &7Just some ore veins and trees" + "\n&8 - &7ALL&8 - &7Entirely vanilla generation");
|
||||
}
|
||||
object.current++;
|
||||
break;
|
||||
}
|
||||
case 2: { // Choose terrain
|
||||
List<String> terrain = Arrays.asList(new String[] {"none", "ore", "all"});
|
||||
if (args.length != 1 || !terrain.contains(args[0].toLowerCase())) {
|
||||
PlayerFunctions.sendMessage(plr, "&cYou must choose the terrain!"
|
||||
+ "\n&8 - &2NONE&8 - &7No terrain at all"
|
||||
+ "\n&8 - &7ORE&8 - &7Just some ore veins and trees"
|
||||
+ "\n&8 - &7ALL&8 - &7Entirely vanilla generation");
|
||||
final List<String> terrain = Arrays.asList(new String[] { "none", "ore", "all" });
|
||||
if ((args.length != 1) || !terrain.contains(args[0].toLowerCase())) {
|
||||
PlayerFunctions.sendMessage(plr, "&cYou must choose the terrain!" + "\n&8 - &2NONE&8 - &7No terrain at all" + "\n&8 - &7ORE&8 - &7Just some ore veins and trees" + "\n&8 - &7ALL&8 - &7Entirely vanilla generation");
|
||||
return false;
|
||||
}
|
||||
object.terrain = terrain.indexOf(args[0].toLowerCase());
|
||||
object.current++;
|
||||
if (object.step == null) {
|
||||
object.step = generators.get(object.generator).getNewPlotWorld(null).getSettingNodes();
|
||||
object.step = this.generators.get(object.generator).getNewPlotWorld(null).getSettingNodes();
|
||||
}
|
||||
ConfigurationNode step = object.step[object.setup_index];
|
||||
final ConfigurationNode step = object.step[object.setup_index];
|
||||
sendMessage(plr, C.SETUP_STEP, object.setup_index + 1 + "", step.getDescription(), step.getType().getType(), step.getDefaultValue() + "");
|
||||
break;
|
||||
}
|
||||
@ -229,11 +210,10 @@ public class Setup extends SubCommand {
|
||||
}
|
||||
object.world = args[0];
|
||||
setupMap.remove(plr.getName());
|
||||
World world = setupWorld(object);
|
||||
final World world = setupWorld(object);
|
||||
try {
|
||||
plr.teleport(world.getSpawnLocation());
|
||||
}
|
||||
catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
plr.sendMessage("&cAn error occured. See console for more information");
|
||||
e.printStackTrace();
|
||||
}
|
||||
@ -294,7 +274,7 @@ public class Setup extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
|
||||
public World setupWorld(SetupObject object) {
|
||||
public World setupWorld(final SetupObject object) {
|
||||
// Configuration
|
||||
final ConfigurationNode[] steps = object.step;
|
||||
final String world = object.world;
|
||||
@ -318,14 +298,13 @@ public class Setup extends SubCommand {
|
||||
if ((Bukkit.getPluginManager().getPlugin("MultiWorld") != null) && Bukkit.getPluginManager().getPlugin("MultiWorld").isEnabled()) {
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "mw create " + world + " plugin:" + object.generator);
|
||||
} else {
|
||||
WorldCreator wc = new WorldCreator(object.world);
|
||||
final WorldCreator wc = new WorldCreator(object.world);
|
||||
wc.generator(object.generator);
|
||||
wc.environment(Environment.NORMAL);
|
||||
World newWorld = Bukkit.createWorld(wc);
|
||||
Bukkit.createWorld(wc);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if ((Bukkit.getPluginManager().getPlugin("Multiverse-Core") != null) && Bukkit.getPluginManager().getPlugin("Multiverse-Core").isEnabled()) {
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "mv create " + world + " normal");
|
||||
} else {
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -34,8 +33,8 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
*
|
||||
* @author Citymonstret
|
||||
*/
|
||||
@SuppressWarnings({"deprecation", "unused"}) public abstract class SubCommand {
|
||||
|
||||
@SuppressWarnings({ "deprecation", "unused" })
|
||||
public abstract class SubCommand {
|
||||
/**
|
||||
* Command
|
||||
*/
|
||||
@ -191,7 +190,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* Such as: /plot debug
|
||||
*/
|
||||
DEBUG("Debug");
|
||||
|
||||
/**
|
||||
* The category name (Readable)
|
||||
*/
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.World;
|
||||
@ -40,7 +39,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
* @author Empire92
|
||||
*/
|
||||
public class Swap extends SubCommand {
|
||||
|
||||
public Swap() {
|
||||
super(Command.SWAP, "Swap two plots", "switch", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -87,11 +85,9 @@ public class Swap extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
PlotSelection.swap(world, plot.id, plotid);
|
||||
|
||||
// TODO Requires testing!!
|
||||
DBFunc.dbManager.swapPlots(plot, PlotHelper.getPlot(world, plotid));
|
||||
// TODO Requires testing!!
|
||||
|
||||
PlayerFunctions.sendMessage(plr, C.SWAP_SUCCESS);
|
||||
PlotHelper.update(plr.getLocation());
|
||||
return true;
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
@ -37,7 +36,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class TP extends SubCommand {
|
||||
|
||||
public TP() {
|
||||
super(Command.TP, "Teleport to a plot", "tp {alias|id}", CommandCategory.TELEPORT, true);
|
||||
}
|
||||
@ -65,7 +63,6 @@ public class TP extends SubCommand {
|
||||
PlotSquared.teleportPlayer(plr, plr.getLocation(), temp);
|
||||
return true;
|
||||
}
|
||||
|
||||
try {
|
||||
plotid = new PlotId(Integer.parseInt(id.split(";")[0]), Integer.parseInt(id.split(";")[1]));
|
||||
PlotSquared.teleportPlayer(plr, plr.getLocation(), PlotHelper.getPlot(world, plotid));
|
||||
@ -85,7 +82,8 @@ public class TP extends SubCommand {
|
||||
}
|
||||
a = split[0];
|
||||
}
|
||||
@SuppressWarnings("deprecation") final Player player = Bukkit.getPlayer(a);
|
||||
@SuppressWarnings("deprecation")
|
||||
final Player player = Bukkit.getPlayer(a);
|
||||
if (player != null) {
|
||||
final java.util.Set<Plot> plotMainPlots = PlotSquared.getPlots(world, player);
|
||||
final Plot[] plots = plotMainPlots.toArray(new Plot[plotMainPlots.size()]);
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.Location;
|
||||
@ -31,7 +30,6 @@ import com.intellectualcrafters.plot.util.PlotHelper;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class Target extends SubCommand {
|
||||
|
||||
public Target() {
|
||||
super(Command.TARGET, "Target a plot with your compass", "target <X;Z>", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -43,12 +41,12 @@ public class Target extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
if (args.length == 1) {
|
||||
PlotId id = PlotHelper.parseId(args[1]);
|
||||
final PlotId id = PlotHelper.parseId(args[1]);
|
||||
if (id == null) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_VALID_PLOT_ID);
|
||||
return false;
|
||||
}
|
||||
Location loc = PlotHelper.getPlotHome(plr.getWorld(), id);
|
||||
final Location loc = PlotHelper.getPlotHome(plr.getWorld(), id);
|
||||
plr.setCompassTarget(loc);
|
||||
PlayerFunctions.sendMessage(plr, C.COMPASS_TARGET);
|
||||
return true;
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
@ -36,7 +35,6 @@ import com.intellectualcrafters.plot.object.PlotWorld;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class Template extends SubCommand {
|
||||
|
||||
public Template() {
|
||||
super("template", "plots.admin", "Create or use a world template", "template", "", CommandCategory.DEBUG, true);
|
||||
}
|
||||
@ -47,9 +45,9 @@ public class Template extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.COMMAND_SYNTAX, "/plot template <import|export> <world>");
|
||||
return false;
|
||||
}
|
||||
World world = Bukkit.getWorld(args[1]);
|
||||
PlotWorld plotworld = PlotSquared.getWorldSettings(args[1]);
|
||||
if (world == null || plotworld == null) {
|
||||
final World world = Bukkit.getWorld(args[1]);
|
||||
final PlotWorld plotworld = PlotSquared.getWorldSettings(args[1]);
|
||||
if ((world == null) || (plotworld == null)) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_VALID_PLOT_WORLD);
|
||||
return false;
|
||||
}
|
||||
@ -63,19 +61,16 @@ public class Template extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, "TODO");
|
||||
}
|
||||
}
|
||||
|
||||
// TODO allow world settings (including schematics to be packed into a single file)
|
||||
|
||||
// TODO allow world created based on these packaged files
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void gzipIt(String output, String input) {
|
||||
byte[] buffer = new byte[1024];
|
||||
public void gzipIt(final String output, final String input) {
|
||||
final byte[] buffer = new byte[1024];
|
||||
try {
|
||||
GZIPOutputStream gzos = new GZIPOutputStream(new FileOutputStream(output));
|
||||
FileInputStream in = new FileInputStream(input);
|
||||
final GZIPOutputStream gzos = new GZIPOutputStream(new FileOutputStream(output));
|
||||
final FileInputStream in = new FileInputStream(input);
|
||||
int len;
|
||||
while ((len = in.read(buffer)) > 0) {
|
||||
gzos.write(buffer, 0, len);
|
||||
@ -83,7 +78,7 @@ public class Template extends SubCommand {
|
||||
in.close();
|
||||
gzos.finish();
|
||||
gzos.close();
|
||||
} catch (IOException ex) {
|
||||
} catch (final IOException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.io.File;
|
||||
@ -40,12 +39,11 @@ import com.intellectualcrafters.plot.object.ChunkLoc;
|
||||
import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.intellectualcrafters.plot.object.PlotId;
|
||||
import com.intellectualcrafters.plot.util.PlotHelper;
|
||||
import com.intellectualcrafters.plot.util.bukkit.BukkitTaskManager;
|
||||
import com.intellectualcrafters.plot.util.TaskManager;
|
||||
import com.intellectualcrafters.plot.util.bukkit.ChunkManager;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class Trim extends SubCommand {
|
||||
|
||||
public static boolean TASK = false;
|
||||
private static int TASK_ID = 0;
|
||||
|
||||
@ -53,12 +51,11 @@ public class Trim extends SubCommand {
|
||||
super("trim", "plots.admin", "Delete unmodified portions of your plotworld", "trim", "", CommandCategory.DEBUG, false);
|
||||
}
|
||||
|
||||
public PlotId getId(String id) {
|
||||
public PlotId getId(final String id) {
|
||||
try {
|
||||
String[] split = id.split(";");
|
||||
final String[] split = id.split(";");
|
||||
return new PlotId(Integer.parseInt(split[0]), Integer.parseInt(split[1]));
|
||||
}
|
||||
catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -70,8 +67,8 @@ public class Trim extends SubCommand {
|
||||
return false;
|
||||
}
|
||||
if (args.length == 1) {
|
||||
String arg = args[0].toLowerCase();
|
||||
PlotId id = getId(arg);
|
||||
final String arg = args[0].toLowerCase();
|
||||
final PlotId id = getId(arg);
|
||||
if (id != null) {
|
||||
PlayerFunctions.sendMessage(plr, "/plot trim x;z &l<world>");
|
||||
return false;
|
||||
@ -87,22 +84,20 @@ public class Trim extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, C.TRIM_SYNTAX);
|
||||
return false;
|
||||
}
|
||||
String arg = args[0].toLowerCase();
|
||||
final String arg = args[0].toLowerCase();
|
||||
if (!arg.equals("all")) {
|
||||
PlayerFunctions.sendMessage(plr, C.TRIM_SYNTAX);
|
||||
return false;
|
||||
}
|
||||
final World world = Bukkit.getWorld(args[1]);
|
||||
if (world == null || PlotSquared.getWorldSettings(world) == null) {
|
||||
if ((world == null) || (PlotSquared.getWorldSettings(world) == null)) {
|
||||
PlayerFunctions.sendMessage(plr, C.NOT_VALID_WORLD);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Trim.TASK) {
|
||||
sendMessage(C.TRIM_IN_PROGRESS.s());
|
||||
return false;
|
||||
}
|
||||
|
||||
sendMessage(C.TRIM_START.s());
|
||||
final ArrayList<ChunkLoc> empty = new ArrayList<>();
|
||||
getTrimRegions(empty, world, new Runnable() {
|
||||
@ -118,54 +113,50 @@ public class Trim extends SubCommand {
|
||||
if (Trim.TASK) {
|
||||
return false;
|
||||
}
|
||||
BukkitTaskManager.runTaskAsync(new Runnable() {
|
||||
TaskManager.runTaskAsync(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
String directory = world.getName() + File.separator + "region";
|
||||
File folder = new File(directory);
|
||||
File[] regionFiles = folder.listFiles();
|
||||
for (File file : regionFiles) {
|
||||
String name = file.getName();
|
||||
final String directory = world.getName() + File.separator + "region";
|
||||
final File folder = new File(directory);
|
||||
final File[] regionFiles = folder.listFiles();
|
||||
for (final File file : regionFiles) {
|
||||
final String name = file.getName();
|
||||
if (name.endsWith("mca")) {
|
||||
if (file.getTotalSpace() <= 8192) {
|
||||
try {
|
||||
String[] split = name.split("\\.");
|
||||
int x = Integer.parseInt(split[1]);
|
||||
int z = Integer.parseInt(split[2]);
|
||||
ChunkLoc loc = new ChunkLoc(x, z);
|
||||
final String[] split = name.split("\\.");
|
||||
final int x = Integer.parseInt(split[1]);
|
||||
final int z = Integer.parseInt(split[2]);
|
||||
final ChunkLoc loc = new ChunkLoc(x, z);
|
||||
empty.add(loc);
|
||||
}
|
||||
catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
System.out.print("INVALID MCA: " + name);
|
||||
}
|
||||
}
|
||||
else {
|
||||
Path path = Paths.get(file.getPath());
|
||||
} else {
|
||||
final Path path = Paths.get(file.getPath());
|
||||
try {
|
||||
BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class);
|
||||
long creation = attr.creationTime().toMillis();
|
||||
long modification = file.lastModified();
|
||||
long diff = Math.abs(creation - modification);
|
||||
final BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class);
|
||||
final long creation = attr.creationTime().toMillis();
|
||||
final long modification = file.lastModified();
|
||||
final long diff = Math.abs(creation - modification);
|
||||
if (diff < 10000) {
|
||||
try {
|
||||
String[] split = name.split("\\.");
|
||||
int x = Integer.parseInt(split[1]);
|
||||
int z = Integer.parseInt(split[2]);
|
||||
ChunkLoc loc = new ChunkLoc(x, z);
|
||||
final String[] split = name.split("\\.");
|
||||
final int x = Integer.parseInt(split[1]);
|
||||
final int z = Integer.parseInt(split[2]);
|
||||
final ChunkLoc loc = new ChunkLoc(x, z);
|
||||
empty.add(loc);
|
||||
}
|
||||
catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
System.out.print("INVALID MCA: " + name);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
} catch (final Exception e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Trim.TASK = false;
|
||||
BukkitTaskManager.runTaskAsync(whenDone);
|
||||
TaskManager.runTaskAsync(whenDone);
|
||||
}
|
||||
});
|
||||
Trim.TASK = true;
|
||||
@ -182,29 +173,27 @@ public class Trim extends SubCommand {
|
||||
plots.addAll(PlotSquared.getPlots(world).values());
|
||||
final HashSet<ChunkLoc> chunks = new HashSet<>(ChunkManager.getChunkChunks(world));
|
||||
sendMessage(" - MCA #: " + chunks.size());
|
||||
sendMessage(" - CHUNKS: " + (chunks.size() * 1024) +" (max)");
|
||||
sendMessage(" - TIME ESTIMATE: " + (chunks.size()/1200) +" minutes");
|
||||
sendMessage(" - CHUNKS: " + (chunks.size() * 1024) + " (max)");
|
||||
sendMessage(" - TIME ESTIMATE: " + (chunks.size() / 1200) + " minutes");
|
||||
Trim.TASK_ID = Bukkit.getScheduler().scheduleSyncRepeatingTask(PlotSquared.getMain(), new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
long start = System.currentTimeMillis();
|
||||
while (System.currentTimeMillis() - start < 50) {
|
||||
final long start = System.currentTimeMillis();
|
||||
while ((System.currentTimeMillis() - start) < 50) {
|
||||
if (plots.size() == 0) {
|
||||
empty.addAll(chunks);
|
||||
System.out.print("DONE!");
|
||||
Trim.TASK = false;
|
||||
BukkitTaskManager.runTaskAsync(whenDone);
|
||||
TaskManager.runTaskAsync(whenDone);
|
||||
Bukkit.getScheduler().cancelTask(Trim.TASK_ID);
|
||||
return;
|
||||
}
|
||||
Plot plot = plots.get(0);
|
||||
final Plot plot = plots.get(0);
|
||||
plots.remove(0);
|
||||
Location pos1 = PlotHelper.getPlotBottomLoc(world, plot.id);
|
||||
Location pos2 = PlotHelper.getPlotTopLoc(world, plot.id);
|
||||
|
||||
Location pos3 = new Location(world, pos1.getBlockX(), 64, pos2.getBlockZ());
|
||||
Location pos4 = new Location(world, pos2.getBlockX(), 64, pos1.getBlockZ());
|
||||
|
||||
final Location pos1 = PlotHelper.getPlotBottomLoc(world, plot.id);
|
||||
final Location pos2 = PlotHelper.getPlotTopLoc(world, plot.id);
|
||||
final Location pos3 = new Location(world, pos1.getBlockX(), 64, pos2.getBlockZ());
|
||||
final Location pos4 = new Location(world, pos2.getBlockX(), 64, pos1.getBlockZ());
|
||||
chunks.remove(ChunkManager.getChunkChunk(pos1));
|
||||
chunks.remove(ChunkManager.getChunkChunk(pos2));
|
||||
chunks.remove(ChunkManager.getChunkChunk(pos3));
|
||||
@ -218,39 +207,39 @@ public class Trim extends SubCommand {
|
||||
|
||||
public static ArrayList<Plot> expired = null;
|
||||
|
||||
// public static void updateUnmodifiedPlots(final World world) {
|
||||
// final SquarePlotManager manager = (SquarePlotManager) PlotSquared.getPlotManager(world);
|
||||
// final SquarePlotWorld plotworld = (SquarePlotWorld) PlotSquared.getWorldSettings(world);
|
||||
// final ArrayList<Plot> expired = new ArrayList<>();
|
||||
// final Set<Plot> plots = ExpireManager.getOldPlots(world.getName()).keySet();
|
||||
// sendMessage("Checking " + plots.size() +" plots! This may take a long time...");
|
||||
// Trim.TASK_ID = Bukkit.getScheduler().scheduleSyncRepeatingTask(PlotSquared.getMain(), new Runnable() {
|
||||
// @Override
|
||||
// public void run() {
|
||||
// if (manager != null && plots.size() > 0) {
|
||||
// Plot plot = plots.iterator().next();
|
||||
// if (plot.hasOwner()) {
|
||||
// SquarePlotManager.checkModified(plot, 0);
|
||||
// }
|
||||
// if (plot.owner == null || !SquarePlotManager.checkModified(plot, plotworld.REQUIRED_CHANGES)) {
|
||||
// expired.add(plot);
|
||||
// sendMessage("found expired: " + plot);
|
||||
// }
|
||||
// }
|
||||
// else {
|
||||
// Trim.expired = expired;
|
||||
// Trim.TASK = false;
|
||||
// sendMessage("Done!");
|
||||
// Bukkit.getScheduler().cancelTask(Trim.TASK_ID);
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// }, 1, 1);
|
||||
// }
|
||||
//
|
||||
public static void deleteChunks(World world, ArrayList<ChunkLoc> chunks) {
|
||||
String worldname = world.getName();
|
||||
for (ChunkLoc loc : chunks) {
|
||||
// public static void updateUnmodifiedPlots(final World world) {
|
||||
// final SquarePlotManager manager = (SquarePlotManager) PlotSquared.getPlotManager(world);
|
||||
// final SquarePlotWorld plotworld = (SquarePlotWorld) PlotSquared.getWorldSettings(world);
|
||||
// final ArrayList<Plot> expired = new ArrayList<>();
|
||||
// final Set<Plot> plots = ExpireManager.getOldPlots(world.getName()).keySet();
|
||||
// sendMessage("Checking " + plots.size() +" plots! This may take a long time...");
|
||||
// Trim.TASK_ID = Bukkit.getScheduler().scheduleSyncRepeatingTask(PlotSquared.getMain(), new Runnable() {
|
||||
// @Override
|
||||
// public void run() {
|
||||
// if (manager != null && plots.size() > 0) {
|
||||
// Plot plot = plots.iterator().next();
|
||||
// if (plot.hasOwner()) {
|
||||
// SquarePlotManager.checkModified(plot, 0);
|
||||
// }
|
||||
// if (plot.owner == null || !SquarePlotManager.checkModified(plot, plotworld.REQUIRED_CHANGES)) {
|
||||
// expired.add(plot);
|
||||
// sendMessage("found expired: " + plot);
|
||||
// }
|
||||
// }
|
||||
// else {
|
||||
// Trim.expired = expired;
|
||||
// Trim.TASK = false;
|
||||
// sendMessage("Done!");
|
||||
// Bukkit.getScheduler().cancelTask(Trim.TASK_ID);
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// }, 1, 1);
|
||||
// }
|
||||
//
|
||||
public static void deleteChunks(final World world, final ArrayList<ChunkLoc> chunks) {
|
||||
final String worldname = world.getName();
|
||||
for (final ChunkLoc loc : chunks) {
|
||||
ChunkManager.deleteRegionFile(worldname, loc);
|
||||
}
|
||||
}
|
||||
@ -258,5 +247,4 @@ public class Trim extends SubCommand {
|
||||
public static void sendMessage(final String message) {
|
||||
PlotSquared.log("&3PlotSquared -> World trim&8: &7" + message);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.UUID;
|
||||
@ -34,8 +33,8 @@ import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
@SuppressWarnings("deprecation") public class Trusted extends SubCommand {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class Trusted extends SubCommand {
|
||||
public Trusted() {
|
||||
super(Command.TRUSTED, "Manage trusted users for a plot", "trusted {add|remove} {player}", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -63,7 +62,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
UUID uuid;
|
||||
if (args[1].equalsIgnoreCase("*")) {
|
||||
uuid = DBFunc.everyone;
|
||||
|
||||
} else {
|
||||
uuid = UUIDHandler.getUUID(args[1]);
|
||||
}
|
||||
|
@ -12,7 +12,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class Unban extends SubCommand {
|
||||
|
||||
public Unban() {
|
||||
super(Command.UNBAN, "Alias for /plot denied remove", "/plot unban [player]", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
@ -36,7 +35,6 @@ import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
|
||||
public class Unclaim extends SubCommand {
|
||||
|
||||
public Unclaim() {
|
||||
super(Command.UNCLAIM, "Unclaim a plot", "unclaim", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -65,8 +63,8 @@ public class Unclaim extends SubCommand {
|
||||
}
|
||||
final boolean result = PlotSquared.removePlot(plr.getWorld().getName(), plot.id, true);
|
||||
if (result) {
|
||||
World world = plr.getWorld();
|
||||
String worldname = world.getName();
|
||||
final World world = plr.getWorld();
|
||||
final String worldname = world.getName();
|
||||
PlotSquared.getPlotManager(world).unclaimPlot(world, pWorld, plot);
|
||||
DBFunc.delete(worldname, plot);
|
||||
// TODO set wall block
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -46,7 +45,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class Unlink extends SubCommand {
|
||||
|
||||
public Unlink() {
|
||||
super(Command.UNLINK, "Unlink a mega-plot", "unlink", CommandCategory.ACTIONS, true);
|
||||
}
|
||||
@ -63,7 +61,6 @@ public class Unlink extends SubCommand {
|
||||
if (PlayerFunctions.getTopPlot(plr.getWorld(), plot).equals(PlayerFunctions.getBottomPlot(plr.getWorld(), plot))) {
|
||||
return sendMessage(plr, C.UNLINK_IMPOSSIBLE);
|
||||
}
|
||||
|
||||
final World world = plr.getWorld();
|
||||
if (!unlinkPlot(world, plot)) {
|
||||
PlayerFunctions.sendMessage(plr, "&cUnlink has been cancelled");
|
||||
@ -83,31 +80,24 @@ public class Unlink extends SubCommand {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean unlinkPlot(World world, Plot plot) {
|
||||
public static boolean unlinkPlot(final World world, final Plot plot) {
|
||||
final PlotId pos1 = PlayerFunctions.getBottomPlot(world, plot).id;
|
||||
final PlotId pos2 = PlayerFunctions.getTopPlot(world, plot).id;
|
||||
final ArrayList<PlotId> ids = PlayerFunctions.getPlotSelectionIds(pos1, pos2);
|
||||
|
||||
final PlotUnlinkEvent event = new PlotUnlinkEvent(world, ids);
|
||||
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
event.setCancelled(true);
|
||||
return false;
|
||||
}
|
||||
|
||||
final PlotManager manager = PlotSquared.getPlotManager(world);
|
||||
final PlotWorld plotworld = PlotSquared.getWorldSettings(world);
|
||||
|
||||
manager.startPlotUnlink(world, plotworld, ids);
|
||||
|
||||
for (final PlotId id : ids) {
|
||||
final Plot myplot = PlotSquared.getPlots(world).get(id);
|
||||
|
||||
if (plot == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (plot.helpers != null) {
|
||||
myplot.helpers = plot.helpers;
|
||||
}
|
||||
@ -115,25 +105,20 @@ public class Unlink extends SubCommand {
|
||||
myplot.denied = plot.denied;
|
||||
}
|
||||
myplot.deny_entry = plot.deny_entry;
|
||||
myplot.settings.setMerged(new boolean[]{false, false, false, false});
|
||||
myplot.settings.setMerged(new boolean[] { false, false, false, false });
|
||||
DBFunc.setMerged(world.getName(), myplot, myplot.settings.getMerged());
|
||||
}
|
||||
|
||||
for (int x = pos1.x; x <= pos2.x; x++) {
|
||||
for (int y = pos1.y; y <= pos2.y; y++) {
|
||||
final boolean lx = x < pos2.x;
|
||||
final boolean ly = y < pos2.y;
|
||||
|
||||
final Plot p = PlotHelper.getPlot(world, new PlotId(x, y));
|
||||
|
||||
if (lx) {
|
||||
manager.createRoadEast(plotworld, p);
|
||||
if (ly) {
|
||||
manager.createRoadSouthEast(plotworld, p);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (ly) {
|
||||
manager.createRoadSouth(plotworld, p);
|
||||
}
|
||||
@ -141,10 +126,10 @@ public class Unlink extends SubCommand {
|
||||
}
|
||||
}
|
||||
manager.finishPlotUnlink(world, plotworld, ids);
|
||||
for (PlotId id : ids) {
|
||||
Plot myPlot = PlotHelper.getPlot(world, id);
|
||||
for (final PlotId id : ids) {
|
||||
final Plot myPlot = PlotHelper.getPlot(world, id);
|
||||
if (plot.hasOwner()) {
|
||||
String name = UUIDHandler.getName(myPlot.owner);
|
||||
final String name = UUIDHandler.getName(myPlot.owner);
|
||||
if (name != null) {
|
||||
PlotHelper.setSign(world, name, myPlot);
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -29,7 +28,6 @@ import com.intellectualcrafters.plot.util.bukkit.PWE;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class WE_Anywhere extends SubCommand {
|
||||
|
||||
public WE_Anywhere() {
|
||||
super("weanywhere", "plots.weanywhere", "Force bypass of WorldEdit", "weanywhere", "wea", CommandCategory.DEBUG, true);
|
||||
}
|
||||
@ -40,12 +38,10 @@ public class WE_Anywhere extends SubCommand {
|
||||
PlayerFunctions.sendMessage(plr, "&cWorldEdit is not enabled on this server");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (BukkitMain.hasPermission(plr, "plots.worldedit.bypass") && PWE.hasMask(plr)) {
|
||||
PWE.removeMask(plr);
|
||||
PlayerFunctions.sendMessage(plr, "&6Cleared your WorldEdit mask");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
PWE.setMask(plr, plr.getLocation(), true);
|
||||
PlayerFunctions.sendMessage(plr, "&6Updated your WorldEdit mask");
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.util.HashMap;
|
||||
@ -41,7 +40,6 @@ import com.intellectualcrafters.plot.util.bukkit.UUIDHandler;
|
||||
* @author Citymonstret
|
||||
*/
|
||||
public class list extends SubCommand {
|
||||
|
||||
public list() {
|
||||
super(Command.LIST, "List all plots", "list {mine|shared|all|world|forsale}", CommandCategory.INFO, false);
|
||||
}
|
||||
@ -50,7 +48,7 @@ public class list extends SubCommand {
|
||||
if (id == null) {
|
||||
return "none";
|
||||
}
|
||||
String name = UUIDHandler.getName(id);
|
||||
final String name = UUIDHandler.getName(id);
|
||||
if (name == null) {
|
||||
return "unknown";
|
||||
}
|
||||
@ -63,9 +61,9 @@ public class list extends SubCommand {
|
||||
final StringBuilder builder = new StringBuilder();
|
||||
builder.append(C.SUBCOMMAND_SET_OPTIONS_HEADER.s());
|
||||
if (plr != null) {
|
||||
builder.append(getArgumentList(new String[]{"mine", "shared", "world", "all", "forsale"}));
|
||||
builder.append(getArgumentList(new String[] { "mine", "shared", "world", "all", "forsale" }));
|
||||
} else {
|
||||
builder.append(getArgumentList(new String[]{"all"}));
|
||||
builder.append(getArgumentList(new String[] { "all" }));
|
||||
}
|
||||
PlayerFunctions.sendMessage(plr, builder.toString());
|
||||
return true;
|
||||
@ -78,7 +76,7 @@ public class list extends SubCommand {
|
||||
string.append(C.PLOT_LIST_HEADER.s().replaceAll("%word%", "buyable")).append("\n");
|
||||
int idx = 0;
|
||||
for (final Plot p : PlotSquared.getPlots(plr.getWorld()).values()) {
|
||||
Flag price = FlagManager.getPlotFlag(p, "price");
|
||||
final Flag price = FlagManager.getPlotFlag(p, "price");
|
||||
if (price != null) {
|
||||
string.append(C.PLOT_LIST_ITEM_ORDERED.s().replaceAll("%in", idx + 1 + "").replaceAll("%id", p.id.toString()).replaceAll("%world", price.getValueString()).replaceAll("%owner", getName(p.owner))).append("\n");
|
||||
idx++;
|
||||
@ -121,7 +119,6 @@ public class list extends SubCommand {
|
||||
} else if (args[0].equalsIgnoreCase("all")) {
|
||||
// Current page
|
||||
int page = 0;
|
||||
|
||||
// is a page specified? else use 0
|
||||
if (args.length > 1) {
|
||||
try {
|
||||
@ -134,34 +131,26 @@ public class list extends SubCommand {
|
||||
page = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Get the total pages
|
||||
// int totalPages = ((int) Math.ceil(12 *
|
||||
// (PlotSquared.getPlotsSorted().size()) / 100));
|
||||
final int totalPages = (int) Math.ceil(PlotSquared.getPlotsSorted().size() / 12);
|
||||
|
||||
if (page > totalPages) {
|
||||
page = totalPages;
|
||||
}
|
||||
|
||||
// Only display 12!
|
||||
int max = (page * 12) + 12;
|
||||
|
||||
if (max > PlotSquared.getPlotsSorted().size()) {
|
||||
max = PlotSquared.getPlotsSorted().size();
|
||||
}
|
||||
|
||||
final StringBuilder string = new StringBuilder();
|
||||
|
||||
string.append(C.PLOT_LIST_HEADER_PAGED.s().replaceAll("%cur", page + 1 + "").replaceAll("%max", totalPages + 1 + "").replaceAll("%word%", "all")).append("\n");
|
||||
Plot p;
|
||||
|
||||
// This might work xD
|
||||
for (int x = (page * 12); x < max; x++) {
|
||||
p = (Plot) PlotSquared.getPlotsSorted().toArray()[x];
|
||||
string.append(C.PLOT_LIST_ITEM_ORDERED.s().replaceAll("%in", x + 1 + "").replaceAll("%id", p.id.toString()).replaceAll("%world", p.world).replaceAll("%owner", getName(p.owner))).append("\n");
|
||||
}
|
||||
|
||||
string.append(C.PLOT_LIST_FOOTER.s().replaceAll("%word%", "There is").replaceAll("%num%", PlotSquared.getPlotsSorted().size() + "").replaceAll("%plot%", PlotSquared.getPlotsSorted().size() == 1 ? "plot" : "plots"));
|
||||
PlayerFunctions.sendMessage(plr, string.toString());
|
||||
return true;
|
||||
@ -177,7 +166,7 @@ public class list extends SubCommand {
|
||||
return true;
|
||||
} else {
|
||||
// execute(plr);
|
||||
sendMessage(plr, C.DID_YOU_MEAN, new StringComparison(args[0], new String[]{"mine", "shared", "world", "all"}).getBestMatch());
|
||||
sendMessage(plr, C.DID_YOU_MEAN, new StringComparison(args[0], new String[] { "mine", "shared", "world", "all" }).getBestMatch());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -193,5 +182,4 @@ public class list extends SubCommand {
|
||||
private String getString(final String s) {
|
||||
return ChatColor.translateAlternateColorCodes('&', C.BLOCK_LIST_ITEM.s().replaceAll("%mat%", s));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.commands;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
@ -35,7 +34,6 @@ import com.intellectualcrafters.plot.PlotSquared;
|
||||
import com.intellectualcrafters.plot.util.bukkit.PlayerFunctions;
|
||||
|
||||
public class plugin extends SubCommand {
|
||||
|
||||
public static String downloads, version;
|
||||
|
||||
public plugin() {
|
||||
@ -111,5 +109,4 @@ public class plugin extends SubCommand {
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.config;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
@ -201,7 +200,6 @@ public enum C {
|
||||
CANT_CLAIM_MORE_PLOTS("$2You can't claim more plots."),
|
||||
CANT_CLAIM_MORE_PLOTS_NUM("$2You can't claim more than $1%s $2plots at once"),
|
||||
YOU_BE_DENIED("$2You are not allowed to enter this plot"),
|
||||
|
||||
NO_PERM_MERGE("$2You are not the owner of the plot: $1%plot%"),
|
||||
UNLINK_REQUIRED("$2An unlink is required to do this."),
|
||||
UNLINK_IMPOSSIBLE("$2You can only unlink a mega-plot"),
|
||||
@ -329,7 +327,6 @@ public enum C {
|
||||
PLOT_INFO_ID("$1ID:$2 %id%"),
|
||||
PLOT_INFO_ALIAS("$1Alias:$2 %alias%"),
|
||||
PLOT_INFO_SIZE("$1Size:$2 %size%"),
|
||||
|
||||
PLOT_USER_LIST(" $1%user%$2,"),
|
||||
INFO_SYNTAX_CONSOLE("$2/plot info <world> X;Y"),
|
||||
/*
|
||||
@ -389,7 +386,6 @@ public enum C {
|
||||
FLAG_KEY("$2Key: %s"),
|
||||
FLAG_TYPE("$2Type: %s"),
|
||||
FLAG_DESC("$2Desc: %s"),
|
||||
|
||||
NEED_KEY("$2Possible values: $1%values%"),
|
||||
NOT_VALID_FLAG("$2That is not a valid flag"),
|
||||
NOT_VALID_VALUE("$2Flag values must be alphanumerical"),
|
||||
@ -442,7 +438,6 @@ public enum C {
|
||||
* Custom
|
||||
*/
|
||||
CUSTOM_STRING("-");
|
||||
|
||||
/**
|
||||
* Special Language
|
||||
*
|
||||
@ -474,7 +469,6 @@ public enum C {
|
||||
* Should the string be prefixed?
|
||||
*/
|
||||
private boolean prefix;
|
||||
private ChatColor[] sColors = null;
|
||||
|
||||
/**
|
||||
* Constructor for custom strings.
|
||||
@ -520,7 +514,7 @@ public enum C {
|
||||
public static void saveTranslations() {
|
||||
try {
|
||||
manager.saveAll(defaultFile).saveFile(defaultFile);
|
||||
} catch (Exception e) {
|
||||
} catch (final Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
@ -540,7 +534,7 @@ public enum C {
|
||||
* @return translated if exists else default
|
||||
*/
|
||||
public String s() {
|
||||
String s = manager.getTranslated(toString(), lang).getTranslated().replaceAll("&-", "\n").replaceAll("\\n", "\n");
|
||||
final String s = manager.getTranslated(toString(), lang).getTranslated().replaceAll("&-", "\n").replaceAll("\\n", "\n");
|
||||
return s.replace("$1", COLOR_1.toString()).replace("$2", COLOR_2.toString()).replace("$3", COLOR_3.toString()).replace("$4", COLOR_4.toString());
|
||||
/*
|
||||
* if (PlotSquared.translations != null) {
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.config;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -32,8 +31,8 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
*
|
||||
* @author Empire92
|
||||
*/
|
||||
@SuppressWarnings("unused") public class Configuration {
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class Configuration {
|
||||
public static final SettingValue STRING = new SettingValue("STRING") {
|
||||
@Override
|
||||
public boolean validateValue(final String string) {
|
||||
@ -45,7 +44,6 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
return string;
|
||||
}
|
||||
};
|
||||
|
||||
public static final SettingValue STRINGLIST = new SettingValue("STRINGLIST") {
|
||||
@Override
|
||||
public boolean validateValue(final String string) {
|
||||
@ -57,7 +55,6 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
return string.split(",");
|
||||
}
|
||||
};
|
||||
|
||||
public static final SettingValue INTEGER = new SettingValue("INTEGER") {
|
||||
@Override
|
||||
public boolean validateValue(final String string) {
|
||||
@ -74,7 +71,6 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
return Integer.parseInt(string);
|
||||
}
|
||||
};
|
||||
|
||||
public static final SettingValue BOOLEAN = new SettingValue("BOOLEAN") {
|
||||
@Override
|
||||
public boolean validateValue(final String string) {
|
||||
@ -91,7 +87,6 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
return Boolean.parseBoolean(string);
|
||||
}
|
||||
};
|
||||
|
||||
public static final SettingValue DOUBLE = new SettingValue("DOUBLE") {
|
||||
@Override
|
||||
public boolean validateValue(final String string) {
|
||||
@ -108,7 +103,6 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
return Double.parseDouble(string);
|
||||
}
|
||||
};
|
||||
|
||||
public static final SettingValue BIOME = new SettingValue("BIOME") {
|
||||
@Override
|
||||
public boolean validateValue(final String string) {
|
||||
@ -135,7 +129,6 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
return (((Biome) object)).toString();
|
||||
}
|
||||
};
|
||||
|
||||
public static final SettingValue BLOCK = new SettingValue("BLOCK") {
|
||||
@Override
|
||||
public boolean validateValue(final String string) {
|
||||
@ -196,7 +189,6 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
public Object parseString(final String string) {
|
||||
final String[] blocks = string.split(",");
|
||||
final ArrayList<PlotBlock> parsedvalues = new ArrayList<>();
|
||||
|
||||
final PlotBlock[] values = new PlotBlock[blocks.length];
|
||||
final int[] counts = new int[blocks.length];
|
||||
int min = 100;
|
||||
@ -229,7 +221,6 @@ import com.intellectualcrafters.plot.object.PlotBlock;
|
||||
parsedvalues.add(values[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return parsedvalues.toArray(new PlotBlock[parsedvalues.size()]);
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,6 @@
|
||||
// /
|
||||
// You can contact us via: support@intellectualsites.com /
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package com.intellectualcrafters.plot.config;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -74,15 +73,13 @@ public class ConfigurationNode {
|
||||
public Object getValue() {
|
||||
if (this.value instanceof String[]) {
|
||||
return Arrays.asList((String[]) this.value);
|
||||
}
|
||||
else if (this.value instanceof Object[]) {
|
||||
List<String> values = new ArrayList<String>();
|
||||
for (Object value : (Object[]) this.value) {
|
||||
} else if (this.value instanceof Object[]) {
|
||||
final List<String> values = new ArrayList<String>();
|
||||
for (final Object value : (Object[]) this.value) {
|
||||
values.add(value.toString());
|
||||
}
|
||||
return values;
|
||||
}
|
||||
else if (this.value instanceof PlotBlock) {
|
||||
} else if (this.value instanceof PlotBlock) {
|
||||
return this.value.toString();
|
||||
}
|
||||
return this.value;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user