mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-10-31 17:43:44 +01:00 
			
		
		
		
	Cleanup
This commit is contained in:
		| @@ -20,8 +20,7 @@ public interface Configuration extends ConfigurationSection { | ||||
|      * @param value Value to set the default to. | ||||
|      * @throws IllegalArgumentException Thrown if path is null. | ||||
|      */ | ||||
|     @Override | ||||
|     public void addDefault(final String path, final Object value); | ||||
|     @Override void addDefault(final String path, final Object value); | ||||
|      | ||||
|     /** | ||||
|      * Sets the default values of the given paths as provided. | ||||
| @@ -33,7 +32,7 @@ public interface Configuration extends ConfigurationSection { | ||||
|      * @param defaults A map of Path->Values to add to defaults. | ||||
|      * @throws IllegalArgumentException Thrown if defaults is null. | ||||
|      */ | ||||
|     public void addDefaults(final Map<String, Object> defaults); | ||||
|     void addDefaults(final Map<String, Object> defaults); | ||||
|      | ||||
|     /** | ||||
|      * Sets the default values of the given paths as provided. | ||||
| @@ -50,7 +49,7 @@ public interface Configuration extends ConfigurationSection { | ||||
|      * @param defaults A configuration holding a list of defaults to copy. | ||||
|      * @throws IllegalArgumentException Thrown if defaults is null or this. | ||||
|      */ | ||||
|     public void addDefaults(final Configuration defaults); | ||||
|     void addDefaults(final Configuration defaults); | ||||
|      | ||||
|     /** | ||||
|      * Sets the source of all default values for this {@link Configuration}. | ||||
| @@ -61,7 +60,7 @@ public interface Configuration extends ConfigurationSection { | ||||
|      * @param defaults New source of default values for this configuration. | ||||
|      * @throws IllegalArgumentException Thrown if defaults is null or this. | ||||
|      */ | ||||
|     public void setDefaults(final Configuration defaults); | ||||
|     void setDefaults(final Configuration defaults); | ||||
|      | ||||
|     /** | ||||
|      * Gets the source {@link Configuration} for this configuration. | ||||
| @@ -72,7 +71,7 @@ public interface Configuration extends ConfigurationSection { | ||||
|      * | ||||
|      * @return Configuration source for default values, or null if none exist. | ||||
|      */ | ||||
|     public Configuration getDefaults(); | ||||
|     Configuration getDefaults(); | ||||
|      | ||||
|     /** | ||||
|      * Gets the {@link ConfigurationOptions} for this {@link Configuration}. | ||||
| @@ -81,5 +80,5 @@ public interface Configuration extends ConfigurationSection { | ||||
|      * | ||||
|      * @return Options for this configuration | ||||
|      */ | ||||
|     public ConfigurationOptions options(); | ||||
|     ConfigurationOptions options(); | ||||
| } | ||||
|   | ||||
| @@ -22,7 +22,7 @@ public interface ConfigurationSection { | ||||
|      *     list. | ||||
|      * @return Set of keys contained within this ConfigurationSection. | ||||
|      */ | ||||
|     public Set<String> getKeys(final boolean deep); | ||||
|     Set<String> getKeys(final boolean deep); | ||||
|      | ||||
|     /** | ||||
|      * Gets a Map containing all keys and their values for this section. | ||||
| @@ -38,7 +38,7 @@ public interface ConfigurationSection { | ||||
|      *     list. | ||||
|      * @return Map of keys and values of this section. | ||||
|      */ | ||||
|     public Map<String, Object> getValues(final boolean deep); | ||||
|     Map<String, Object> getValues(final boolean deep); | ||||
|      | ||||
|     /** | ||||
|      * Checks if this {@link ConfigurationSection} contains the given path. | ||||
| @@ -51,7 +51,7 @@ public interface ConfigurationSection { | ||||
|      *     default or being set. | ||||
|      * @throws IllegalArgumentException Thrown when path is null. | ||||
|      */ | ||||
|     public boolean contains(final String path); | ||||
|     boolean contains(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Checks if this {@link ConfigurationSection} has a value set for the | ||||
| @@ -65,7 +65,7 @@ public interface ConfigurationSection { | ||||
|      *     having a default. | ||||
|      * @throws IllegalArgumentException Thrown when path is null. | ||||
|      */ | ||||
|     public boolean isSet(final String path); | ||||
|     boolean isSet(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the path of this {@link ConfigurationSection} from its root {@link | ||||
| @@ -82,7 +82,7 @@ public interface ConfigurationSection { | ||||
|      * | ||||
|      * @return Path of this section relative to its root | ||||
|      */ | ||||
|     public String getCurrentPath(); | ||||
|     String getCurrentPath(); | ||||
|      | ||||
|     /** | ||||
|      * Gets the name of this individual {@link ConfigurationSection}, in the | ||||
| @@ -93,7 +93,7 @@ public interface ConfigurationSection { | ||||
|      * | ||||
|      * @return Name of this section | ||||
|      */ | ||||
|     public String getName(); | ||||
|     String getName(); | ||||
|      | ||||
|     /** | ||||
|      * Gets the root {@link Configuration} that contains this {@link | ||||
| @@ -107,7 +107,7 @@ public interface ConfigurationSection { | ||||
|      * | ||||
|      * @return Root configuration containing this section. | ||||
|      */ | ||||
|     public Configuration getRoot(); | ||||
|     Configuration getRoot(); | ||||
|      | ||||
|     /** | ||||
|      * Gets the parent {@link ConfigurationSection} that directly contains | ||||
| @@ -120,7 +120,7 @@ public interface ConfigurationSection { | ||||
|      * | ||||
|      * @return Parent section containing this section. | ||||
|      */ | ||||
|     public ConfigurationSection getParent(); | ||||
|     ConfigurationSection getParent(); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested Object by path. | ||||
| @@ -132,7 +132,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the Object to get. | ||||
|      * @return Requested Object. | ||||
|      */ | ||||
|     public Object get(final String path); | ||||
|     Object get(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested Object by path, returning a default value if not | ||||
| @@ -146,7 +146,7 @@ public interface ConfigurationSection { | ||||
|      * @param def The default value to return if the path is not found. | ||||
|      * @return Requested Object. | ||||
|      */ | ||||
|     public Object get(final String path, final Object def); | ||||
|     Object get(final String path, final Object def); | ||||
|      | ||||
|     /** | ||||
|      * Sets the specified path to the given value. | ||||
| @@ -162,7 +162,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the object to set. | ||||
|      * @param value New value to set the path to. | ||||
|      */ | ||||
|     public void set(final String path, final Object value); | ||||
|     void set(final String path, final Object value); | ||||
|      | ||||
|     /** | ||||
|      * Creates an empty {@link ConfigurationSection} at the specified path. | ||||
| @@ -174,7 +174,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path to create the section at. | ||||
|      * @return Newly created section | ||||
|      */ | ||||
|     public ConfigurationSection createSection(final String path); | ||||
|     ConfigurationSection createSection(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Creates a {@link ConfigurationSection} at the specified path, with | ||||
| @@ -188,7 +188,7 @@ public interface ConfigurationSection { | ||||
|      * @param map The values to used. | ||||
|      * @return Newly created section | ||||
|      */ | ||||
|     public ConfigurationSection createSection(final String path, final Map<?, ?> map); | ||||
|     ConfigurationSection createSection(final String path, final Map<?, ?> map); | ||||
|      | ||||
|     // Primitives | ||||
|     /** | ||||
| @@ -201,7 +201,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the String to get. | ||||
|      * @return Requested String. | ||||
|      */ | ||||
|     public String getString(final String path); | ||||
|     String getString(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested String by path, returning a default value if not | ||||
| @@ -216,7 +216,7 @@ public interface ConfigurationSection { | ||||
|      *     not a String. | ||||
|      * @return Requested String. | ||||
|      */ | ||||
|     public String getString(final String path, final String def); | ||||
|     String getString(final String path, final String def); | ||||
|      | ||||
|     /** | ||||
|      * Checks if the specified path is a String. | ||||
| @@ -229,7 +229,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the String to check. | ||||
|      * @return Whether or not the specified path is a String. | ||||
|      */ | ||||
|     public boolean isString(final String path); | ||||
|     boolean isString(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested int by path. | ||||
| @@ -241,7 +241,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the int to get. | ||||
|      * @return Requested int. | ||||
|      */ | ||||
|     public int getInt(final String path); | ||||
|     int getInt(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested int by path, returning a default value if not found. | ||||
| @@ -255,7 +255,7 @@ public interface ConfigurationSection { | ||||
|      *     not an int. | ||||
|      * @return Requested int. | ||||
|      */ | ||||
|     public int getInt(final String path, final int def); | ||||
|     int getInt(final String path, final int def); | ||||
|      | ||||
|     /** | ||||
|      * Checks if the specified path is an int. | ||||
| @@ -268,7 +268,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the int to check. | ||||
|      * @return Whether or not the specified path is an int. | ||||
|      */ | ||||
|     public boolean isInt(final String path); | ||||
|     boolean isInt(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested boolean by path. | ||||
| @@ -280,7 +280,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the boolean to get. | ||||
|      * @return Requested boolean. | ||||
|      */ | ||||
|     public boolean getBoolean(final String path); | ||||
|     boolean getBoolean(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested boolean by path, returning a default value if not | ||||
| @@ -295,7 +295,7 @@ public interface ConfigurationSection { | ||||
|      *     not a boolean. | ||||
|      * @return Requested boolean. | ||||
|      */ | ||||
|     public boolean getBoolean(final String path, final boolean def); | ||||
|     boolean getBoolean(final String path, final boolean def); | ||||
|      | ||||
|     /** | ||||
|      * Checks if the specified path is a boolean. | ||||
| @@ -308,7 +308,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the boolean to check. | ||||
|      * @return Whether or not the specified path is a boolean. | ||||
|      */ | ||||
|     public boolean isBoolean(final String path); | ||||
|     boolean isBoolean(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested double by path. | ||||
| @@ -320,7 +320,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the double to get. | ||||
|      * @return Requested double. | ||||
|      */ | ||||
|     public double getDouble(final String path); | ||||
|     double getDouble(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested double by path, returning a default value if not | ||||
| @@ -335,7 +335,7 @@ public interface ConfigurationSection { | ||||
|      *     not a double. | ||||
|      * @return Requested double. | ||||
|      */ | ||||
|     public double getDouble(final String path, final double def); | ||||
|     double getDouble(final String path, final double def); | ||||
|      | ||||
|     /** | ||||
|      * Checks if the specified path is a double. | ||||
| @@ -348,7 +348,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the double to check. | ||||
|      * @return Whether or not the specified path is a double. | ||||
|      */ | ||||
|     public boolean isDouble(final String path); | ||||
|     boolean isDouble(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested long by path. | ||||
| @@ -360,7 +360,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the long to get. | ||||
|      * @return Requested long. | ||||
|      */ | ||||
|     public long getLong(final String path); | ||||
|     long getLong(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested long by path, returning a default value if not | ||||
| @@ -375,7 +375,7 @@ public interface ConfigurationSection { | ||||
|      *     not a long. | ||||
|      * @return Requested long. | ||||
|      */ | ||||
|     public long getLong(final String path, final long def); | ||||
|     long getLong(final String path, final long def); | ||||
|      | ||||
|     /** | ||||
|      * Checks if the specified path is a long. | ||||
| @@ -388,7 +388,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the long to check. | ||||
|      * @return Whether or not the specified path is a long. | ||||
|      */ | ||||
|     public boolean isLong(final String path); | ||||
|     boolean isLong(final String path); | ||||
|      | ||||
|     // Java | ||||
|     /** | ||||
| @@ -401,7 +401,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List. | ||||
|      */ | ||||
|     public List<?> getList(final String path); | ||||
|     List<?> getList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List by path, returning a default value if not | ||||
| @@ -416,7 +416,7 @@ public interface ConfigurationSection { | ||||
|      *     not a List. | ||||
|      * @return Requested List. | ||||
|      */ | ||||
|     public List<?> getList(final String path, final List<?> def); | ||||
|     List<?> getList(final String path, final List<?> def); | ||||
|      | ||||
|     /** | ||||
|      * Checks if the specified path is a List. | ||||
| @@ -429,7 +429,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to check. | ||||
|      * @return Whether or not the specified path is a List. | ||||
|      */ | ||||
|     public boolean isList(final String path); | ||||
|     boolean isList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List of String by path. | ||||
| @@ -444,7 +444,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List of String. | ||||
|      */ | ||||
|     public List<String> getStringList(final String path); | ||||
|     List<String> getStringList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List of Integer by path. | ||||
| @@ -459,7 +459,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List of Integer. | ||||
|      */ | ||||
|     public List<Integer> getIntegerList(final String path); | ||||
|     List<Integer> getIntegerList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List of Boolean by path. | ||||
| @@ -474,7 +474,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List of Boolean. | ||||
|      */ | ||||
|     public List<Boolean> getBooleanList(final String path); | ||||
|     List<Boolean> getBooleanList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List of Double by path. | ||||
| @@ -489,7 +489,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List of Double. | ||||
|      */ | ||||
|     public List<Double> getDoubleList(final String path); | ||||
|     List<Double> getDoubleList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List of Float by path. | ||||
| @@ -504,7 +504,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List of Float. | ||||
|      */ | ||||
|     public List<Float> getFloatList(final String path); | ||||
|     List<Float> getFloatList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List of Long by path. | ||||
| @@ -519,7 +519,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List of Long. | ||||
|      */ | ||||
|     public List<Long> getLongList(final String path); | ||||
|     List<Long> getLongList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List of Byte by path. | ||||
| @@ -534,7 +534,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List of Byte. | ||||
|      */ | ||||
|     public List<Byte> getByteList(final String path); | ||||
|     List<Byte> getByteList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List of Character by path. | ||||
| @@ -549,7 +549,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List of Character. | ||||
|      */ | ||||
|     public List<Character> getCharacterList(final String path); | ||||
|     List<Character> getCharacterList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List of Short by path. | ||||
| @@ -564,7 +564,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List of Short. | ||||
|      */ | ||||
|     public List<Short> getShortList(final String path); | ||||
|     List<Short> getShortList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested List of Maps by path. | ||||
| @@ -579,7 +579,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the List to get. | ||||
|      * @return Requested List of Maps. | ||||
|      */ | ||||
|     public List<Map<?, ?>> getMapList(final String path); | ||||
|     List<Map<?, ?>> getMapList(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the requested ConfigurationSection by path. | ||||
| @@ -592,7 +592,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the ConfigurationSection to get. | ||||
|      * @return Requested ConfigurationSection. | ||||
|      */ | ||||
|     public ConfigurationSection getConfigurationSection(final String path); | ||||
|     ConfigurationSection getConfigurationSection(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Checks if the specified path is a ConfigurationSection. | ||||
| @@ -606,7 +606,7 @@ public interface ConfigurationSection { | ||||
|      * @param path Path of the ConfigurationSection to check. | ||||
|      * @return Whether or not the specified path is a ConfigurationSection. | ||||
|      */ | ||||
|     public boolean isConfigurationSection(final String path); | ||||
|     boolean isConfigurationSection(final String path); | ||||
|      | ||||
|     /** | ||||
|      * Gets the equivalent {@link ConfigurationSection} from the default | ||||
| @@ -618,7 +618,7 @@ public interface ConfigurationSection { | ||||
|      * | ||||
|      * @return Equivalent section in root configuration | ||||
|      */ | ||||
|     public ConfigurationSection getDefaultSection(); | ||||
|     ConfigurationSection getDefaultSection(); | ||||
|      | ||||
|     /** | ||||
|      * Sets the default value in the root at the given path as provided. | ||||
| @@ -638,5 +638,5 @@ public interface ConfigurationSection { | ||||
|      * @param value Value to set the default to. | ||||
|      * @throws IllegalArgumentException Thrown if path is null. | ||||
|      */ | ||||
|     public void addDefault(final String path, final Object value); | ||||
|     void addDefault(final String path, final Object value); | ||||
| } | ||||
|   | ||||
| @@ -10,7 +10,6 @@ import java.io.FileInputStream; | ||||
| import java.io.FileNotFoundException; | ||||
| import java.io.FileOutputStream; | ||||
| import java.io.IOException; | ||||
| import java.io.InputStream; | ||||
| import java.io.InputStreamReader; | ||||
| import java.io.OutputStreamWriter; | ||||
| import java.io.Reader; | ||||
| @@ -126,32 +125,7 @@ public abstract class FileConfiguration extends MemoryConfiguration { | ||||
|          | ||||
|         load(new InputStreamReader(stream, StandardCharsets.UTF_8)); | ||||
|     } | ||||
|      | ||||
|     /** | ||||
|      * Loads this {@link FileConfiguration} from the specified stream. | ||||
|      * <p> | ||||
|      * All the values contained within this configuration will be removed, | ||||
|      * leaving only settings and defaults, and the new values will be loaded | ||||
|      * from the given stream. | ||||
|      * <p> | ||||
|      * | ||||
|      * @param stream Stream to load from | ||||
|      * @throws IOException Thrown when the given file cannot be read. | ||||
|      * @throws InvalidConfigurationException Thrown when the given file is not | ||||
|      *     a valid Configuration. | ||||
|      * @throws IllegalArgumentException Thrown when stream is null. | ||||
|      * @deprecated This does not consider encoding | ||||
|      * @see #load(Reader) | ||||
|      */ | ||||
|     @Deprecated | ||||
|     public void load(final InputStream stream) throws IOException, InvalidConfigurationException { | ||||
|         if (stream == null) { | ||||
|             throw new NullPointerException("Stream cannot be null"); | ||||
|         } | ||||
|          | ||||
|         load(new InputStreamReader(stream, StandardCharsets.UTF_8)); | ||||
|     } | ||||
|      | ||||
|  | ||||
|     /** | ||||
|      * Loads this {@link FileConfiguration} from the specified reader. | ||||
|      * <p> | ||||
|   | ||||
| @@ -100,7 +100,6 @@ public class YamlConfiguration extends FileConfiguration { | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     @SuppressWarnings("deprecation") | ||||
|     public String saveToString() { | ||||
|         yamlOptions.setIndent(options().indent()); | ||||
|         yamlOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); | ||||
|   | ||||
| @@ -1,14 +1,13 @@ | ||||
| package com.intellectualcrafters.configuration.file; | ||||
|  | ||||
| import java.util.LinkedHashMap; | ||||
| import java.util.Map; | ||||
|  | ||||
| import com.intellectualcrafters.configuration.serialization.ConfigurationSerialization; | ||||
| import org.yaml.snakeyaml.constructor.SafeConstructor; | ||||
| import org.yaml.snakeyaml.error.YAMLException; | ||||
| import org.yaml.snakeyaml.nodes.Node; | ||||
| import org.yaml.snakeyaml.nodes.Tag; | ||||
|  | ||||
| import com.intellectualcrafters.configuration.serialization.ConfigurationSerialization; | ||||
| import java.util.LinkedHashMap; | ||||
| import java.util.Map; | ||||
|  | ||||
| public class YamlConstructor extends SafeConstructor { | ||||
|      | ||||
| @@ -26,7 +25,7 @@ public class YamlConstructor extends SafeConstructor { | ||||
|             final Map<?, ?> raw = (Map<?, ?>) super.construct(node); | ||||
|              | ||||
|             if (raw.containsKey(ConfigurationSerialization.SERIALIZED_TYPE_KEY)) { | ||||
|                 final Map<String, Object> typed = new LinkedHashMap<String, Object>(raw.size()); | ||||
|                 final Map<String, Object> typed = new LinkedHashMap<>(raw.size()); | ||||
|                 for (final Map.Entry<?, ?> entry : raw.entrySet()) { | ||||
|                     typed.put(entry.getKey().toString(), entry.getValue()); | ||||
|                 } | ||||
|   | ||||
| @@ -31,5 +31,5 @@ public interface ConfigurationSerializable { | ||||
|      * | ||||
|      * @return Map containing the current state of this class | ||||
|      */ | ||||
|     public Map<String, Object> serialize(); | ||||
|     Map<String, Object> serialize(); | ||||
| } | ||||
|   | ||||
| @@ -18,5 +18,5 @@ public @interface DelegateDeserialization { | ||||
|      * | ||||
|      * @return Delegate class | ||||
|      */ | ||||
|     public Class<? extends ConfigurationSerializable> value(); | ||||
|     Class<? extends ConfigurationSerializable> value(); | ||||
| } | ||||
|   | ||||
| @@ -30,5 +30,5 @@ public @interface SerializableAs { | ||||
|      * | ||||
|      * @return Name to serialize the class as. | ||||
|      */ | ||||
|     public String value(); | ||||
|     String value(); | ||||
| } | ||||
|   | ||||
| @@ -20,8 +20,6 @@ | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| package com.intellectualcrafters.plot.commands; | ||||
|  | ||||
| import java.util.HashSet; | ||||
|  | ||||
| import com.intellectualcrafters.plot.config.C; | ||||
| import com.intellectualcrafters.plot.config.Settings; | ||||
| import com.intellectualcrafters.plot.object.Location; | ||||
| @@ -35,6 +33,8 @@ import com.intellectualcrafters.plot.util.Permissions; | ||||
| import com.intellectualcrafters.plot.util.TaskManager; | ||||
| import com.plotsquared.general.commands.CommandDeclaration; | ||||
|  | ||||
| import java.util.HashSet; | ||||
|  | ||||
| @CommandDeclaration( | ||||
| command = "delete", | ||||
| permission = "plots.delete", | ||||
| @@ -85,8 +85,7 @@ public class Delete extends SubCommand { | ||||
|                 }); | ||||
|                 if (result) { | ||||
|                     plot.addRunning(); | ||||
|                 } | ||||
|                 else { | ||||
|                 } else { | ||||
|                     MainUtil.sendMessage(plr, C.WAIT_FOR_TIMER); | ||||
|                 } | ||||
|             } | ||||
|   | ||||
| @@ -58,7 +58,7 @@ public class Load extends SubCommand { | ||||
|          | ||||
|         if (args.length != 0) { | ||||
|             if (args.length == 1) { | ||||
|                 final List<String> schematics = (List<String>) plr.getMeta("plot_schematics"); | ||||
|                 final List<String> schematics = plr.getMeta("plot_schematics"); | ||||
|                 if (schematics == null) { | ||||
|                     // No schematics found: | ||||
|                     MainUtil.sendMessage(plr, C.LOAD_NULL); | ||||
| @@ -113,7 +113,7 @@ public class Load extends SubCommand { | ||||
|          | ||||
|         // list schematics | ||||
|          | ||||
|         final List<String> schematics = (List<String>) plr.getMeta("plot_schematics"); | ||||
|         final List<String> schematics = plr.getMeta("plot_schematics"); | ||||
|         if (schematics == null) { | ||||
|             plot.addRunning(); | ||||
|             TaskManager.runTaskAsync(new Runnable() { | ||||
| @@ -136,7 +136,7 @@ public class Load extends SubCommand { | ||||
|     } | ||||
|      | ||||
|     public void displaySaves(final PlotPlayer player, final int page) { | ||||
|         final List<String> schematics = (List<String>) player.getMeta("plot_schematics"); | ||||
|         final List<String> schematics = player.getMeta("plot_schematics"); | ||||
|         for (int i = 0; i < Math.min(schematics.size(), 32); i++) { | ||||
|             try { | ||||
|                 final String schem = schematics.get(i); | ||||
| @@ -165,33 +165,28 @@ public class Load extends SubCommand { | ||||
|      | ||||
|     public String secToTime(long time) { | ||||
|         final StringBuilder toreturn = new StringBuilder(); | ||||
|         int years = 0; | ||||
|         int weeks = 0; | ||||
|         int days = 0; | ||||
|         int hours = 0; | ||||
|         int minutes = 0; | ||||
|         if (time >= 33868800) { | ||||
|             years = (int) (time / 33868800); | ||||
|             int years = (int) (time / 33868800); | ||||
|             time -= years * 33868800; | ||||
|             toreturn.append(years + "y "); | ||||
|         } | ||||
|         if (time >= 604800) { | ||||
|             weeks = (int) (time / 604800); | ||||
|             int weeks = (int) (time / 604800); | ||||
|             time -= weeks * 604800; | ||||
|             toreturn.append(weeks + "w "); | ||||
|         } | ||||
|         if (time >= 86400) { | ||||
|             days = (int) (time / 86400); | ||||
|             int days = (int) (time / 86400); | ||||
|             time -= days * 86400; | ||||
|             toreturn.append(days + "d "); | ||||
|         } | ||||
|         if (time >= 3600) { | ||||
|             hours = (int) (time / 3600); | ||||
|             int hours = (int) (time / 3600); | ||||
|             time -= hours * 3600; | ||||
|             toreturn.append(hours + "h "); | ||||
|         } | ||||
|         if (time >= 60) { | ||||
|             minutes = (int) (time / 60); | ||||
|             int minutes = (int) (time / 60); | ||||
|             time -= minutes * 60; | ||||
|             toreturn.append(minutes + "m "); | ||||
|         } | ||||
|   | ||||
| @@ -20,12 +20,6 @@ | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| package com.intellectualcrafters.plot.commands; | ||||
|  | ||||
| import java.util.HashMap; | ||||
| import java.util.HashSet; | ||||
| import java.util.Map.Entry; | ||||
| import java.util.Set; | ||||
| import java.util.UUID; | ||||
|  | ||||
| import com.intellectualcrafters.plot.PS; | ||||
| import com.intellectualcrafters.plot.config.C; | ||||
| import com.intellectualcrafters.plot.database.DBFunc; | ||||
| @@ -38,6 +32,11 @@ import com.intellectualcrafters.plot.util.StringMan; | ||||
| import com.intellectualcrafters.plot.util.UUIDHandler; | ||||
| import com.plotsquared.general.commands.CommandDeclaration; | ||||
|  | ||||
| import java.util.HashMap; | ||||
| import java.util.HashSet; | ||||
| import java.util.Map.Entry; | ||||
| import java.util.UUID; | ||||
|  | ||||
| @CommandDeclaration( | ||||
| usage = "/plot purge world:<world> area:<area> id:<id> owner:<owner> shared:<shared> unknown:[true|false]", | ||||
| command = "purge", | ||||
| @@ -115,7 +114,6 @@ public class Purge extends SubCommand { | ||||
|             } | ||||
|         } | ||||
|         final HashSet<Integer> toDelete = new HashSet<>(); | ||||
|         Set<Plot> basePlots = PS.get().getBasePlots(); | ||||
|         for (Plot plot : PS.get().getBasePlots()) { | ||||
|             if (world != null && !plot.getArea().worldname.equalsIgnoreCase(world)) { | ||||
|                 continue; | ||||
|   | ||||
| @@ -20,6 +20,14 @@ | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| package com.intellectualcrafters.plot.database; | ||||
|  | ||||
| import com.intellectualcrafters.plot.flag.Flag; | ||||
| import com.intellectualcrafters.plot.object.Plot; | ||||
| import com.intellectualcrafters.plot.object.PlotArea; | ||||
| import com.intellectualcrafters.plot.object.PlotCluster; | ||||
| import com.intellectualcrafters.plot.object.PlotId; | ||||
| import com.intellectualcrafters.plot.object.RunnableVal; | ||||
| import com.intellectualcrafters.plot.object.comment.PlotComment; | ||||
|  | ||||
| import java.sql.ResultSet; | ||||
| import java.sql.ResultSetMetaData; | ||||
| import java.sql.SQLException; | ||||
| @@ -30,14 +38,6 @@ import java.util.List; | ||||
| import java.util.Set; | ||||
| import java.util.UUID; | ||||
|  | ||||
| import com.intellectualcrafters.plot.flag.Flag; | ||||
| import com.intellectualcrafters.plot.object.Plot; | ||||
| import com.intellectualcrafters.plot.object.PlotArea; | ||||
| import com.intellectualcrafters.plot.object.PlotCluster; | ||||
| import com.intellectualcrafters.plot.object.PlotId; | ||||
| import com.intellectualcrafters.plot.object.RunnableVal; | ||||
| import com.intellectualcrafters.plot.object.comment.PlotComment; | ||||
|  | ||||
| /** | ||||
|  * Database Functions | ||||
|  *  - These functions do not update the local plot objects and only make changes to the DB | ||||
| @@ -68,7 +68,6 @@ public class DBFunc { | ||||
|      * @param r | ||||
|      * @param name | ||||
|      * @return | ||||
|      * @throws SQLException | ||||
|      */ | ||||
|     public static boolean hasColumn(final ResultSet r, final String name) { | ||||
|         try { | ||||
| @@ -365,7 +364,6 @@ public class DBFunc { | ||||
|     } | ||||
|      | ||||
|     /** | ||||
|      * @param world | ||||
|      * @param cluster | ||||
|      */ | ||||
|     public static void createCluster(final PlotCluster cluster) { | ||||
| @@ -374,7 +372,8 @@ public class DBFunc { | ||||
|      | ||||
|     /** | ||||
|      * @param current | ||||
|      * @param resize | ||||
|      * @param min | ||||
|      * @param max | ||||
|      */ | ||||
|     public static void resizeCluster(final PlotCluster current, final PlotId min, PlotId max) { | ||||
|         dbManager.resizeCluster(current, min, max); | ||||
|   | ||||
| @@ -20,6 +20,23 @@ | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| package com.intellectualcrafters.plot.database; | ||||
|  | ||||
| import com.intellectualcrafters.configuration.ConfigurationSection; | ||||
| import com.intellectualcrafters.plot.PS; | ||||
| import com.intellectualcrafters.plot.config.Settings; | ||||
| import com.intellectualcrafters.plot.flag.Flag; | ||||
| import com.intellectualcrafters.plot.flag.FlagManager; | ||||
| import com.intellectualcrafters.plot.object.BlockLoc; | ||||
| import com.intellectualcrafters.plot.object.Plot; | ||||
| import com.intellectualcrafters.plot.object.PlotArea; | ||||
| import com.intellectualcrafters.plot.object.PlotCluster; | ||||
| import com.intellectualcrafters.plot.object.PlotId; | ||||
| import com.intellectualcrafters.plot.object.PlotSettings; | ||||
| import com.intellectualcrafters.plot.object.RunnableVal; | ||||
| import com.intellectualcrafters.plot.object.comment.PlotComment; | ||||
| import com.intellectualcrafters.plot.util.MainUtil; | ||||
| import com.intellectualcrafters.plot.util.StringMan; | ||||
| import com.intellectualcrafters.plot.util.TaskManager; | ||||
|  | ||||
| import java.sql.Blob; | ||||
| import java.sql.Connection; | ||||
| import java.sql.DatabaseMetaData; | ||||
| @@ -44,23 +61,6 @@ import java.util.concurrent.ConcurrentHashMap; | ||||
| import java.util.concurrent.ConcurrentLinkedQueue; | ||||
| import java.util.concurrent.atomic.AtomicInteger; | ||||
|  | ||||
| import com.intellectualcrafters.configuration.ConfigurationSection; | ||||
| import com.intellectualcrafters.plot.PS; | ||||
| import com.intellectualcrafters.plot.config.Settings; | ||||
| import com.intellectualcrafters.plot.flag.Flag; | ||||
| import com.intellectualcrafters.plot.flag.FlagManager; | ||||
| import com.intellectualcrafters.plot.object.BlockLoc; | ||||
| import com.intellectualcrafters.plot.object.Plot; | ||||
| import com.intellectualcrafters.plot.object.PlotArea; | ||||
| import com.intellectualcrafters.plot.object.PlotCluster; | ||||
| import com.intellectualcrafters.plot.object.PlotId; | ||||
| import com.intellectualcrafters.plot.object.PlotSettings; | ||||
| import com.intellectualcrafters.plot.object.RunnableVal; | ||||
| import com.intellectualcrafters.plot.object.comment.PlotComment; | ||||
| import com.intellectualcrafters.plot.util.MainUtil; | ||||
| import com.intellectualcrafters.plot.util.StringMan; | ||||
| import com.intellectualcrafters.plot.util.TaskManager; | ||||
|  | ||||
| /** | ||||
|  | ||||
|  */ | ||||
| @@ -477,8 +477,7 @@ public class SQLManager implements AbstractDB { | ||||
|                                 final ArrayList<UUIDPair> denied = new ArrayList<>(); | ||||
|  | ||||
|                                 // Populating structures | ||||
|                                 final PreparedStatement stmt = connection.prepareStatement(GET_ALL_PLOTS); | ||||
|                                 try (ResultSet result = stmt.executeQuery()) { | ||||
|                                 try (PreparedStatement stmt = connection.prepareStatement(GET_ALL_PLOTS); ResultSet result = stmt.executeQuery()) { | ||||
|                                     while (result.next()) { | ||||
|                                         final int id = result.getInt("id"); | ||||
|                                         final int x = result.getInt("plot_id_x"); | ||||
| @@ -2069,31 +2068,30 @@ public class SQLManager implements AbstractDB { | ||||
|         addGlobalTask(new Runnable() { | ||||
|             @Override | ||||
|             public void run() { | ||||
|                 try { | ||||
|                     PreparedStatement stmt = | ||||
|                             connection.prepareStatement("SELECT `id`, `plot_id_x`, `plot_id_z` FROM `" + prefix + "plot` WHERE `world` = ?"); | ||||
|                     stmt.setString(1, area.toString()); | ||||
|                     final ResultSet r = stmt.executeQuery(); | ||||
|                     final Set<Integer> ids = new HashSet<>(); | ||||
|                     while (r.next()) { | ||||
|                         PlotId plot_id = new PlotId(r.getInt("plot_id_x"), r.getInt("plot_id_z")); | ||||
|                         if (plots.contains(plot_id)) { | ||||
|                             ids.add(r.getInt("id")); | ||||
|                     try (PreparedStatement stmt = connection | ||||
|                             .prepareStatement("SELECT `id`, `plot_id_x`, `plot_id_z` FROM `" + prefix + "plot` WHERE `world` = ?")) { | ||||
|                         stmt.setString(1, area.toString()); | ||||
|                         Set<Integer> ids; | ||||
|                         try (ResultSet r = stmt.executeQuery()) { | ||||
|                             ids = new HashSet<>(); | ||||
|                             while (r.next()) { | ||||
|                                 PlotId plot_id = new PlotId(r.getInt("plot_id_x"), r.getInt("plot_id_z")); | ||||
|                                 if (plots.contains(plot_id)) { | ||||
|                                     ids.add(r.getInt("id")); | ||||
|                                 } | ||||
|                             } | ||||
|                         } | ||||
|                         purgeIds(ids); | ||||
|                     } catch (final SQLException e) { | ||||
|                         e.printStackTrace(); | ||||
|                         PS.debug("&c[ERROR] " + "FAILED TO PURGE AREA '" + area + "'!"); | ||||
|                     } | ||||
|                     purgeIds(ids); | ||||
|                     stmt.close(); | ||||
|                     r.close(); | ||||
|                     for (final Iterator<PlotId> iter = plots.iterator(); iter.hasNext();) { | ||||
|                         final PlotId plotId = iter.next(); | ||||
|                         iter.remove(); | ||||
|                         final PlotId id = new PlotId(plotId.x, plotId.y); | ||||
|                         area.removePlot(id); | ||||
|                     } | ||||
|                 } catch (final SQLException e) { | ||||
|                     e.printStackTrace(); | ||||
|                     PS.debug("&c[ERROR] " + "FAILED TO PURGE AREA '" + area + "'!"); | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| @@ -2335,17 +2333,16 @@ public class SQLManager implements AbstractDB { | ||||
|     @Override | ||||
|     public HashMap<UUID, Integer> getRatings(final Plot plot) { | ||||
|         final HashMap<UUID, Integer> map = new HashMap<>(); | ||||
|         try { | ||||
|             final PreparedStatement statement = connection.prepareStatement("SELECT `rating`, `player` FROM `" + prefix + "plot_rating` WHERE `plot_plot_id` = ? "); | ||||
|         try (PreparedStatement statement = connection | ||||
|                 .prepareStatement("SELECT `rating`, `player` FROM `" + prefix + "plot_rating` WHERE `plot_plot_id` = ? ")) { | ||||
|             statement.setInt(1, getId(plot)); | ||||
|             final ResultSet set = statement.executeQuery(); | ||||
|             while (set.next()) { | ||||
|                 final UUID uuid = UUID.fromString(set.getString("player")); | ||||
|                 final int rating = set.getInt("rating"); | ||||
|                 map.put(uuid, rating); | ||||
|             try (ResultSet set = statement.executeQuery()) { | ||||
|                 while (set.next()) { | ||||
|                     final UUID uuid = UUID.fromString(set.getString("player")); | ||||
|                     final int rating = set.getInt("rating"); | ||||
|                     map.put(uuid, rating); | ||||
|                 } | ||||
|             } | ||||
|             statement.close(); | ||||
|             set.close(); | ||||
|         } catch (final SQLException e) { | ||||
|             PS.debug("&7[WARN] " + "Failed to fetch rating for plot " + plot.getId().toString()); | ||||
|             e.printStackTrace(); | ||||
| @@ -2478,7 +2475,7 @@ public class SQLManager implements AbstractDB { | ||||
|             } | ||||
|  | ||||
|             @Override | ||||
|             public void execute(PreparedStatement stmt) throws SQLException {} | ||||
|             public void execute(PreparedStatement stmt) {} | ||||
|  | ||||
|             @Override | ||||
|             public void addBatch(PreparedStatement stmt) throws SQLException { | ||||
| @@ -2505,7 +2502,7 @@ public class SQLManager implements AbstractDB { | ||||
|         final LinkedHashMap<String, Set<PlotCluster>> newClusters = new LinkedHashMap<>(); | ||||
|         final HashMap<Integer, PlotCluster> clusters = new HashMap<>(); | ||||
|         try { | ||||
|             HashSet<String> areas = new HashSet<>();; | ||||
|             HashSet<String> areas = new HashSet<>(); | ||||
|             if (PS.get().config.contains("worlds")) { | ||||
|                 ConfigurationSection worldSection = PS.get().config.getConfigurationSection("worlds"); | ||||
|                 if (worldSection != null) { | ||||
|   | ||||
| @@ -20,13 +20,6 @@ | ||||
| //////////////////////////////////////////////////////////////////////////////////////////////////// | ||||
| package com.intellectualcrafters.plot.flag; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.HashSet; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.Set; | ||||
|  | ||||
| import com.intellectualcrafters.plot.PS; | ||||
| import com.intellectualcrafters.plot.config.C; | ||||
| import com.intellectualcrafters.plot.database.DBFunc; | ||||
| @@ -39,6 +32,13 @@ import com.intellectualcrafters.plot.object.RunnableVal; | ||||
| import com.intellectualcrafters.plot.util.EventUtil; | ||||
| import com.intellectualcrafters.plot.util.Permissions; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashMap; | ||||
| import java.util.HashSet; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.Set; | ||||
|  | ||||
| /** | ||||
|  * Flag Manager Utility | ||||
|  * | ||||
|   | ||||
| @@ -64,7 +64,7 @@ public abstract class PlotPlayer implements CommandCaller { | ||||
|      */ | ||||
|     public void setMeta(final String key, final Object value) { | ||||
|         if (meta == null) { | ||||
|             meta = new ConcurrentHashMap<String, Object>(); | ||||
|             meta = new ConcurrentHashMap<>(); | ||||
|         } | ||||
|         meta.put(key, value); | ||||
|     } | ||||
|   | ||||
| @@ -23,22 +23,23 @@ public class HastebinUtility { | ||||
|         connection.setRequestMethod("POST"); | ||||
|         connection.setRequestProperty("User-Agent", USER_AGENT); | ||||
|         connection.setDoOutput(true); | ||||
|          | ||||
|         final DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream()); | ||||
|         outputStream.write(string.getBytes()); | ||||
|         outputStream.flush(); | ||||
|         outputStream.close(); | ||||
|          | ||||
|         final BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); | ||||
|         String inputLine; | ||||
|         final StringBuilder response = new StringBuilder(); | ||||
|          | ||||
|         while ((inputLine = in.readLine()) != null) { | ||||
|             response.append(inputLine); | ||||
|  | ||||
|         try (DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream())) { | ||||
|             outputStream.write(string.getBytes()); | ||||
|             outputStream.flush(); | ||||
|         } | ||||
|         in.close(); | ||||
|          | ||||
|         final Matcher matcher = PATTERN.matcher(response.toString()); | ||||
|  | ||||
|         StringBuilder response; | ||||
|         try (BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()))) { | ||||
|             response = new StringBuilder(); | ||||
|  | ||||
|             String inputLine; | ||||
|             while ((inputLine = in.readLine()) != null) { | ||||
|                 response.append(inputLine); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         Matcher matcher = PATTERN.matcher(response.toString()); | ||||
|         if (matcher.matches()) { | ||||
|             return "http://hastebin.com/" + matcher.group(1); | ||||
|         } else { | ||||
|   | ||||
| @@ -1,29 +1,29 @@ | ||||
| package com.intellectualcrafters.plot.util; | ||||
|  | ||||
| import java.util.Collection; | ||||
|  | ||||
| import com.intellectualcrafters.plot.object.ChunkLoc; | ||||
| import com.intellectualcrafters.plot.util.SetQueue.ChunkWrapper; | ||||
|  | ||||
| import java.util.Collection; | ||||
|  | ||||
| public interface PlotQueue<T> { | ||||
|     public boolean setBlock(final String world, final int x, final int y, final int z, final short id, final byte data); | ||||
|     boolean setBlock(final String world, final int x, final int y, final int z, final short id, final byte data); | ||||
|      | ||||
|     public PlotChunk<T> getChunk(ChunkWrapper wrap); | ||||
|     PlotChunk<T> getChunk(ChunkWrapper wrap); | ||||
|      | ||||
|     public void setChunk(PlotChunk<T> chunk); | ||||
|     void setChunk(PlotChunk<T> chunk); | ||||
|      | ||||
|     public boolean fixLighting(PlotChunk<T> chunk, boolean fixAll); | ||||
|     boolean fixLighting(PlotChunk<T> chunk, boolean fixAll); | ||||
|      | ||||
|     public void sendChunk(String world, Collection<ChunkLoc> locs); | ||||
|     void sendChunk(String world, Collection<ChunkLoc> locs); | ||||
|  | ||||
|     /** | ||||
|      * Gets the FaweChunk and sets the requested blocks | ||||
|      * @return | ||||
|      */ | ||||
|     public PlotChunk<T> next(); | ||||
|     PlotChunk<T> next(); | ||||
|      | ||||
|     public PlotChunk<T> next(ChunkWrapper wrap, boolean fixLighting); | ||||
|     PlotChunk<T> next(ChunkWrapper wrap, boolean fixLighting); | ||||
|  | ||||
|     public void clear(); | ||||
|     void clear(); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -55,11 +55,12 @@ public class ReflectionUtils { | ||||
|         ArrayList<T> list = new ArrayList<T>(); | ||||
|         try { | ||||
|             Field[] fields = clazz.getFields(); | ||||
|             for (int i = 0; i < fields.length; i++) { | ||||
|                 Object value = fields[i].get(null); | ||||
|             for (Field field : fields) { | ||||
|                 Object value = field.get(null); | ||||
|                 try { | ||||
|                 list.add((T) value); | ||||
|                 } catch (ClassCastException e) {} | ||||
|                     list.add((T) value); | ||||
|                 } catch (ClassCastException e) { | ||||
|                 } | ||||
|             } | ||||
|         } catch (Throwable e) { | ||||
|             e.printStackTrace(); | ||||
|   | ||||
| @@ -191,23 +191,19 @@ public class StringMan { | ||||
|         } | ||||
|         int p[] = new int[n + 1]; | ||||
|         int d[] = new int[n + 1]; | ||||
|         int _d[]; | ||||
|         int i; | ||||
|         int j; | ||||
|         char t_j; | ||||
|         int cost; | ||||
|         for (i = 0; i <= n; i++) { | ||||
|             p[i] = i; | ||||
|         } | ||||
|         for (j = 1; j <= m; j++) { | ||||
|             t_j = t.charAt(j - 1); | ||||
|         for (int j = 1; j <= m; j++) { | ||||
|             char t_j = t.charAt(j - 1); | ||||
|             d[0] = j; | ||||
|              | ||||
|             for (i = 1; i <= n; i++) { | ||||
|                 cost = s.charAt(i - 1) == t_j ? 0 : 1; | ||||
|                 int cost = s.charAt(i - 1) == t_j ? 0 : 1; | ||||
|                 d[i] = Math.min(Math.min(d[i - 1] + 1, p[i] + 1), p[i - 1] + cost); | ||||
|             } | ||||
|             _d = p; | ||||
|             int[] _d = p; | ||||
|             p = d; | ||||
|             d = _d; | ||||
|         } | ||||
|   | ||||
| @@ -24,12 +24,10 @@ import java.util.UUID; | ||||
|  | ||||
| public class PlotMeConnector_017 extends APlotMeConnector { | ||||
|     private String plugin; | ||||
|     private String prefix; | ||||
|      | ||||
|  | ||||
|     @Override | ||||
|     public Connection getPlotMeConnection(final String plugin, final FileConfiguration plotConfig, final String dataFolder) { | ||||
|         this.plugin = plugin.toLowerCase(); | ||||
|         prefix = plugin + "core_"; | ||||
|         try { | ||||
|             if (plotConfig.getBoolean("usemySQL")) { | ||||
|                 final String user = plotConfig.getString("mySQLuname"); | ||||
|   | ||||
| @@ -1,15 +1,15 @@ | ||||
| package com.plotsquared.bukkit.titles; | ||||
|  | ||||
| import org.bukkit.Bukkit; | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.entity.Player; | ||||
|  | ||||
| import java.lang.reflect.Field; | ||||
| import java.lang.reflect.InvocationTargetException; | ||||
| import java.lang.reflect.Method; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
|  | ||||
| import org.bukkit.Bukkit; | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.entity.Player; | ||||
|  | ||||
| /** | ||||
|  * [ PlotSquared DefaultTitleManager by Maxim Van de Wynckel ] | ||||
|  * | ||||
| @@ -36,7 +36,7 @@ public class DefaultTitleManager_183 { | ||||
|     private int stayTime = -1; | ||||
|     private int fadeOutTime = -1; | ||||
|     private boolean ticks = false; | ||||
|     private static final Map<Class<?>, Class<?>> CORRESPONDING_TYPES = new HashMap<Class<?>, Class<?>>(); | ||||
|     private static final Map<Class<?>, Class<?>> CORRESPONDING_TYPES = new HashMap<>(); | ||||
|      | ||||
|     /** | ||||
|      * Create a new 1.8 title | ||||
| @@ -252,7 +252,7 @@ public class DefaultTitleManager_183 { | ||||
|             "{text:\"" + ChatColor.translateAlternateColorCodes('&', title) + "\",color:" + titleColor.name().toLowerCase() + "}"); | ||||
|             packet = packetTitle.getConstructor(packetActions, chatBaseComponent).newInstance(actions[0], serialized); | ||||
|             sendPacket.invoke(connection, packet); | ||||
|             if (subtitle != "") { | ||||
|             if (!subtitle.isEmpty()) { | ||||
|                 // Send subtitle if present | ||||
|                 serialized = getMethod(nmsChatSerializer, "a", String.class).invoke(null, | ||||
|                 "{text:\"" + ChatColor.translateAlternateColorCodes('&', subtitle) + "\",color:" + subtitleColor.name().toLowerCase() + "}"); | ||||
| @@ -365,9 +365,7 @@ public class DefaultTitleManager_183 { | ||||
|      | ||||
|     private Class<?> getNMSClass(final String className) throws ClassNotFoundException { | ||||
|         final String fullName = "net.minecraft.server." + getVersion() + className; | ||||
|         Class<?> clazz = null; | ||||
|         clazz = Class.forName(fullName); | ||||
|         return clazz; | ||||
|         return Class.forName(fullName); | ||||
|     } | ||||
|      | ||||
|     private Field getField(final Class<?> clazz, final String name) { | ||||
| @@ -392,10 +390,10 @@ public class DefaultTitleManager_183 { | ||||
|     } | ||||
|      | ||||
|     private boolean ClassListEqual(final Class<?>[] l1, final Class<?>[] l2) { | ||||
|         boolean equal = true; | ||||
|         if (l1.length != l2.length) { | ||||
|             return false; | ||||
|         } | ||||
|         boolean equal = true; | ||||
|         for (int i = 0; i < l1.length; i++) { | ||||
|             if (l1[i] != l2[i]) { | ||||
|                 equal = false; | ||||
|   | ||||
| @@ -12,7 +12,7 @@ public class HackTitle extends AbstractTitle { | ||||
|         try { | ||||
|             final HackTitleManager title = new HackTitleManager(head, sub, in, delay, out); | ||||
|             title.send(((BukkitPlayer) player).player); | ||||
|         } catch (final Throwable e) { | ||||
|         } catch (Exception e) { | ||||
|             PS.debug("&cYour server version does not support titles!"); | ||||
|             Settings.TITLES = false; | ||||
|             AbstractTitle.TITLE_CLASS = null; | ||||
|   | ||||
| @@ -1,14 +1,15 @@ | ||||
| package com.plotsquared.bukkit.titles; | ||||
|  | ||||
| import java.lang.reflect.Field; | ||||
| import java.lang.reflect.Method; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
|  | ||||
| import org.bukkit.Bukkit; | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.entity.Player; | ||||
|  | ||||
| import java.lang.reflect.Field; | ||||
| import java.lang.reflect.InvocationTargetException; | ||||
| import java.lang.reflect.Method; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
|  | ||||
| /** | ||||
|  * Minecraft 1.8 Title | ||||
|  * | ||||
| @@ -244,7 +245,7 @@ public class HackTitleManager { | ||||
|             "{text:\"" + ChatColor.translateAlternateColorCodes('&', title) + "\",color:" + titleColor.name().toLowerCase() + "}"); | ||||
|             packet = packetTitle.getConstructor(packetActions, getNMSClass("IChatBaseComponent")).newInstance(actions[0], serialized); | ||||
|             sendPacket.invoke(connection, packet); | ||||
|             if (subtitle != "") { | ||||
|             if (!subtitle.isEmpty()) { | ||||
|                 // Send subtitle if present | ||||
|                 serialized = getMethod(nmsChatSerializer, "a", String.class).invoke(null, | ||||
|                 "{text:\"" + ChatColor.translateAlternateColorCodes('&', subtitle) + "\",color:" + subtitleColor.name().toLowerCase() + "}"); | ||||
| @@ -313,8 +314,7 @@ public class HackTitleManager { | ||||
|         final Object handle = getHandle(player); | ||||
|         final Object connection = getField(handle.getClass(), "playerConnection").get(handle); | ||||
|         final Object networkManager = getValue("networkManager", connection); | ||||
|         final Integer version = (Integer) getMethod("getVersion", networkManager.getClass()).invoke(networkManager); | ||||
|         return version; | ||||
|         return (Integer) getMethod("getVersion", networkManager.getClass()).invoke(networkManager); | ||||
|     } | ||||
|      | ||||
|     /** | ||||
| @@ -336,7 +336,8 @@ public class HackTitleManager { | ||||
|     private Class<?> getClass(final String namespace) { | ||||
|         try { | ||||
|             return Class.forName(namespace); | ||||
|         } catch (final Exception e) {} | ||||
|         } catch (ClassNotFoundException e) { | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
|      | ||||
| @@ -378,7 +379,7 @@ public class HackTitleManager { | ||||
|     private Object getHandle(final Object obj) { | ||||
|         try { | ||||
|             return getMethod("getHandle", obj.getClass()).invoke(obj); | ||||
|         } catch (final Exception e) { | ||||
|         } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { | ||||
|             e.printStackTrace(); | ||||
|             return null; | ||||
|         } | ||||
| @@ -397,15 +398,12 @@ public class HackTitleManager { | ||||
|      | ||||
|     private String getVersion() { | ||||
|         final String name = Bukkit.getServer().getClass().getPackage().getName(); | ||||
|         final String version = name.substring(name.lastIndexOf('.') + 1) + "."; | ||||
|         return version; | ||||
|         return name.substring(name.lastIndexOf('.') + 1) + "."; | ||||
|     } | ||||
|      | ||||
|     private Class<?> getNMSClass(final String className) throws ClassNotFoundException { | ||||
|         final String fullName = "net.minecraft.server." + getVersion() + className; | ||||
|         Class<?> clazz = null; | ||||
|         clazz = Class.forName(fullName); | ||||
|         return clazz; | ||||
|         return Class.forName(fullName); | ||||
|     } | ||||
|      | ||||
|     private Field getField(final Class<?> clazz, final String name) { | ||||
| @@ -413,7 +411,7 @@ public class HackTitleManager { | ||||
|             final Field field = clazz.getDeclaredField(name); | ||||
|             field.setAccessible(true); | ||||
|             return field; | ||||
|         } catch (final Exception e) { | ||||
|         } catch (SecurityException | NoSuchFieldException e) { | ||||
|             e.printStackTrace(); | ||||
|             return null; | ||||
|         } | ||||
| @@ -430,10 +428,10 @@ public class HackTitleManager { | ||||
|     } | ||||
|      | ||||
|     private boolean ClassListEqual(final Class<?>[] l1, final Class<?>[] l2) { | ||||
|         boolean equal = true; | ||||
|         if (l1.length != l2.length) { | ||||
|             return false; | ||||
|         } | ||||
|         boolean equal = true; | ||||
|         for (int i = 0; i < l1.length; i++) { | ||||
|             if (l1[i] != l2[i]) { | ||||
|                 equal = false; | ||||
|   | ||||
| @@ -17,7 +17,7 @@ public abstract class Command<E extends CommandCaller> extends CommandManager { | ||||
|     private Set<String> aliases = new HashSet<>(); | ||||
|     private CommandCategory category; | ||||
|     private int hash; | ||||
|      | ||||
|  | ||||
|     public Command() { | ||||
|         super(null, new ArrayList<Command>()); | ||||
|     } | ||||
|   | ||||
| @@ -1,5 +1,8 @@ | ||||
| package com.plotsquared.general.commands; | ||||
|  | ||||
| import com.intellectualcrafters.plot.config.C; | ||||
| import com.intellectualcrafters.plot.util.Permissions; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.Collections; | ||||
| import java.util.Comparator; | ||||
| @@ -7,9 +10,6 @@ import java.util.HashSet; | ||||
| import java.util.List; | ||||
| import java.util.concurrent.ConcurrentHashMap; | ||||
|  | ||||
| import com.intellectualcrafters.plot.config.C; | ||||
| import com.intellectualcrafters.plot.util.Permissions; | ||||
|  | ||||
| public class CommandManager<T extends CommandCaller> { | ||||
|      | ||||
|     final public ConcurrentHashMap<String, Command<T>> commands; | ||||
| @@ -98,8 +98,7 @@ public class CommandManager<T extends CommandCaller> { | ||||
|             args = new String[parts.length - 1]; | ||||
|             System.arraycopy(parts, 1, args, 0, args.length); | ||||
|         } | ||||
|         Command<T> cmd = null; | ||||
|         cmd = commands.get(command); | ||||
|         Command<T> cmd = commands.get(command); | ||||
|         if (cmd == null) { | ||||
|             return CommandHandlingOutput.NOT_FOUND; | ||||
|         } | ||||
|   | ||||
| @@ -1,12 +1,8 @@ | ||||
| package com.plotsquared.sponge; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
| import org.spongepowered.api.world.World; | ||||
| import org.spongepowered.api.world.gen.WorldGenerator; | ||||
|  | ||||
| import com.intellectualcrafters.plot.PS; | ||||
| import com.intellectualcrafters.plot.config.ConfigurationNode; | ||||
| import com.intellectualcrafters.plot.generator.GeneratorWrapper; | ||||
| import com.intellectualcrafters.plot.generator.HybridGen; | ||||
| import com.intellectualcrafters.plot.generator.PlotGenerator; | ||||
| import com.intellectualcrafters.plot.object.PlotArea; | ||||
| @@ -14,6 +10,11 @@ import com.intellectualcrafters.plot.object.SetupObject; | ||||
| import com.intellectualcrafters.plot.util.SetupUtils; | ||||
| import com.plotsquared.sponge.generator.SpongePlotGenerator; | ||||
| import com.plotsquared.sponge.util.SpongeUtil; | ||||
| import org.spongepowered.api.world.World; | ||||
| import org.spongepowered.api.world.gen.WorldGenerator; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.util.Map; | ||||
|  | ||||
| public class SpongeSetupUtils extends SetupUtils { | ||||
|      | ||||
| @@ -23,7 +24,6 @@ public class SpongeSetupUtils extends SetupUtils { | ||||
|             return; | ||||
|         } | ||||
|         SetupUtils.generators.put("PlotSquared", new SpongePlotGenerator(new HybridGen())); | ||||
|         // TODO get external world generators | ||||
|         throw new UnsupportedOperationException("TODO FETCH EXTERNAL WorldGenerationModifiers"); | ||||
|     } | ||||
|      | ||||
| @@ -37,7 +37,16 @@ public class SpongeSetupUtils extends SetupUtils { | ||||
|             return null; | ||||
|         } | ||||
|         final WorldGenerator generator = world.getWorldGenerator(); | ||||
|         throw new UnsupportedOperationException("NOT IMPLEMENTED YET"); | ||||
|         if (!(generator instanceof SpongePlotGenerator)) { | ||||
|             return null; | ||||
|         } | ||||
|         for (final Map.Entry<String, GeneratorWrapper<?>> entry : generators.entrySet()) { | ||||
|             GeneratorWrapper<?> current = entry.getValue(); | ||||
|             if (current.equals(generator)) { | ||||
|                 return entry.getKey(); | ||||
|             } | ||||
|         } | ||||
|         return null; | ||||
|     } | ||||
|      | ||||
|     @Override | ||||
|   | ||||
| @@ -1,14 +1,31 @@ | ||||
| package com.plotsquared.sponge.listener; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashSet; | ||||
| import java.util.List; | ||||
| import java.util.Map.Entry; | ||||
| import java.util.Objects; | ||||
| import java.util.Optional; | ||||
| import java.util.UUID; | ||||
| import java.util.function.Predicate; | ||||
|  | ||||
| import com.flowpowered.math.vector.Vector3d; | ||||
| import com.intellectualcrafters.plot.PS; | ||||
| import com.intellectualcrafters.plot.config.C; | ||||
| import com.intellectualcrafters.plot.config.Settings; | ||||
| import com.intellectualcrafters.plot.database.DBFunc; | ||||
| import com.intellectualcrafters.plot.flag.Flag; | ||||
| import com.intellectualcrafters.plot.flag.FlagManager; | ||||
| import com.intellectualcrafters.plot.object.Location; | ||||
| import com.intellectualcrafters.plot.object.Plot; | ||||
| import com.intellectualcrafters.plot.object.PlotArea; | ||||
| import com.intellectualcrafters.plot.object.PlotBlock; | ||||
| import com.intellectualcrafters.plot.object.PlotId; | ||||
| import com.intellectualcrafters.plot.object.PlotManager; | ||||
| import com.intellectualcrafters.plot.object.PlotPlayer; | ||||
| import com.intellectualcrafters.plot.object.StringWrapper; | ||||
| import com.intellectualcrafters.plot.util.ExpireManager; | ||||
| import com.intellectualcrafters.plot.util.MainUtil; | ||||
| import com.intellectualcrafters.plot.util.MathMan; | ||||
| import com.intellectualcrafters.plot.util.Permissions; | ||||
| import com.intellectualcrafters.plot.util.StringMan; | ||||
| import com.intellectualcrafters.plot.util.TaskManager; | ||||
| import com.intellectualcrafters.plot.util.UUIDHandler; | ||||
| import com.plotsquared.listener.PlotListener; | ||||
| import com.plotsquared.sponge.SpongeMain; | ||||
| import com.plotsquared.sponge.object.SpongePlayer; | ||||
| import com.plotsquared.sponge.util.SpongeUtil; | ||||
| import org.spongepowered.api.block.BlockSnapshot; | ||||
| import org.spongepowered.api.block.BlockState; | ||||
| import org.spongepowered.api.data.Transaction; | ||||
| @@ -43,32 +60,14 @@ import org.spongepowered.api.text.Text; | ||||
| import org.spongepowered.api.world.World; | ||||
| import org.spongepowered.api.world.extent.Extent; | ||||
|  | ||||
| import com.flowpowered.math.vector.Vector3d; | ||||
| import com.intellectualcrafters.plot.PS; | ||||
| import com.intellectualcrafters.plot.config.C; | ||||
| import com.intellectualcrafters.plot.config.Settings; | ||||
| import com.intellectualcrafters.plot.database.DBFunc; | ||||
| import com.intellectualcrafters.plot.flag.Flag; | ||||
| import com.intellectualcrafters.plot.flag.FlagManager; | ||||
| import com.intellectualcrafters.plot.object.Location; | ||||
| import com.intellectualcrafters.plot.object.Plot; | ||||
| import com.intellectualcrafters.plot.object.PlotArea; | ||||
| import com.intellectualcrafters.plot.object.PlotBlock; | ||||
| import com.intellectualcrafters.plot.object.PlotId; | ||||
| import com.intellectualcrafters.plot.object.PlotManager; | ||||
| import com.intellectualcrafters.plot.object.PlotPlayer; | ||||
| import com.intellectualcrafters.plot.object.StringWrapper; | ||||
| import com.intellectualcrafters.plot.util.ExpireManager; | ||||
| import com.intellectualcrafters.plot.util.MainUtil; | ||||
| import com.intellectualcrafters.plot.util.MathMan; | ||||
| import com.intellectualcrafters.plot.util.Permissions; | ||||
| import com.intellectualcrafters.plot.util.StringMan; | ||||
| import com.intellectualcrafters.plot.util.TaskManager; | ||||
| import com.intellectualcrafters.plot.util.UUIDHandler; | ||||
| import com.plotsquared.listener.PlotListener; | ||||
| import com.plotsquared.sponge.SpongeMain; | ||||
| import com.plotsquared.sponge.object.SpongePlayer; | ||||
| import com.plotsquared.sponge.util.SpongeUtil; | ||||
| import java.util.ArrayList; | ||||
| import java.util.HashSet; | ||||
| import java.util.List; | ||||
| import java.util.Map.Entry; | ||||
| import java.util.Objects; | ||||
| import java.util.Optional; | ||||
| import java.util.UUID; | ||||
| import java.util.function.Predicate; | ||||
|  | ||||
| public class MainListener { | ||||
|      | ||||
| @@ -307,7 +306,7 @@ public class MainListener { | ||||
|     public void onCommand(final SendCommandEvent event) { | ||||
|         switch (event.getCommand().toLowerCase()) { | ||||
|             case "plotme": { | ||||
|                 Player source = this.<Player> getCause(event.getCause(), Player.class); | ||||
|                 Player source = this.getCause(event.getCause(), Player.class); | ||||
|                 if (source == null) { | ||||
|                     return; | ||||
|                 } | ||||
| @@ -374,7 +373,7 @@ public class MainListener { | ||||
|     @Listener | ||||
|     public void onChat(final MessageEvent event) { | ||||
|         // TODO | ||||
|         Player player = this.<Player> getCause(event.getCause(), Player.class); | ||||
|         Player player = this.getCause(event.getCause(), Player.class); | ||||
|         if (player == null) { | ||||
|             return; | ||||
|         } | ||||
| @@ -504,7 +503,7 @@ public class MainListener { | ||||
|      | ||||
|     @Listener | ||||
|     public void onBlockBreak(final ChangeBlockEvent.Break event) { | ||||
|         Player player = this.<Player> getCause(event.getCause(), Player.class); | ||||
|         Player player = this.getCause(event.getCause(), Player.class); | ||||
|         if (player == null) { | ||||
|             event.setCancelled(true); | ||||
|             return; | ||||
| @@ -588,7 +587,7 @@ public class MainListener { | ||||
|      | ||||
|     @Listener | ||||
|     public void onBlockPlace(final ChangeBlockEvent.Place event) { | ||||
|         Player player = this.<Player> getCause(event.getCause(), Player.class); | ||||
|         Player player = this.getCause(event.getCause(), Player.class); | ||||
|         if (player == null) { | ||||
|             event.setCancelled(true); | ||||
|             return; | ||||
| @@ -672,7 +671,7 @@ public class MainListener { | ||||
|      | ||||
|     @Listener | ||||
|     public void onBlockInteract(final InteractBlockEvent.Secondary event) { | ||||
|         final Player player = this.<Player> getCause(event.getCause(), Player.class); | ||||
|         final Player player = this.getCause(event.getCause(), Player.class); | ||||
|         if (player == null) { | ||||
|             event.setCancelled(true); | ||||
|             return; | ||||
| @@ -770,17 +769,13 @@ public class MainListener { | ||||
|      | ||||
|     @Listener | ||||
|     public void onMove(final DisplaceEntityEvent.TargetPlayer event) { | ||||
|         final org.spongepowered.api.world.Location from = event.getFromTransform().getLocation(); | ||||
|         org.spongepowered.api.world.Location to = event.getToTransform().getLocation(); | ||||
|         final org.spongepowered.api.world.Location<World> from = event.getFromTransform().getLocation(); | ||||
|         org.spongepowered.api.world.Location<World> to = event.getToTransform().getLocation(); | ||||
|         int x2; | ||||
|         if (getInt(from.getX()) != (x2 = getInt(to.getX()))) { | ||||
|             final Player player = event.getTargetEntity(); | ||||
|             final PlotPlayer pp = SpongeUtil.getPlayer(player); | ||||
|             final Extent extent = to.getExtent(); | ||||
|             if (!(extent instanceof World)) { | ||||
|                 pp.deleteMeta("location"); | ||||
|                 return; | ||||
|             } | ||||
|             pp.setMeta("location", SpongeUtil.getLocation(player)); | ||||
|             final World world = (World) extent; | ||||
|             final String worldname = ((World) extent).getName(); | ||||
| @@ -790,7 +785,7 @@ public class MainListener { | ||||
|             } | ||||
|             final PlotManager plotManager = PS.get().getPlotManager(PS.get().getPlot(plotworld, plotworld.getMin())); | ||||
|             final PlotId id = plotManager.getPlotId(plotworld, x2, 0, getInt(to.getZ())); | ||||
|             final Plot lastPlot = (Plot) pp.getMeta("lastplot"); | ||||
|             final Plot lastPlot = pp.getMeta("lastplot"); | ||||
|             if (id == null) { | ||||
|                 if (lastPlot == null) { | ||||
|                     return; | ||||
| @@ -819,18 +814,16 @@ public class MainListener { | ||||
|                 } | ||||
|             } | ||||
|             final Integer border = plotworld.getBorder(); | ||||
|             if (border != null) { | ||||
|                 if (x2 > border) { | ||||
|                     final Vector3d pos = to.getPosition(); | ||||
|                     to = to.setPosition(new Vector3d(border - 4, pos.getY(), pos.getZ())); | ||||
|                     event.setToTransform(new Transform(to)); | ||||
|                     MainUtil.sendMessage(pp, C.BORDER); | ||||
|                 } else if (x2 < -border) { | ||||
|                     final Vector3d pos = to.getPosition(); | ||||
|                     to = to.setPosition(new Vector3d(-border + 4, pos.getY(), pos.getZ())); | ||||
|                     event.setToTransform(new Transform(to)); | ||||
|                     MainUtil.sendMessage(pp, C.BORDER); | ||||
|                 } | ||||
|             if (x2 > border) { | ||||
|                 final Vector3d pos = to.getPosition(); | ||||
|                 to = to.setPosition(new Vector3d(border - 4, pos.getY(), pos.getZ())); | ||||
|                 event.setToTransform(new Transform<>(to)); | ||||
|                 MainUtil.sendMessage(pp, C.BORDER); | ||||
|             } else if (x2 < -border) { | ||||
|                 final Vector3d pos = to.getPosition(); | ||||
|                 to = to.setPosition(new Vector3d(-border + 4, pos.getY(), pos.getZ())); | ||||
|                 event.setToTransform(new Transform<>(to)); | ||||
|                 MainUtil.sendMessage(pp, C.BORDER); | ||||
|             } | ||||
|             return; | ||||
|         } | ||||
| @@ -839,10 +832,6 @@ public class MainListener { | ||||
|             final Player player = event.getTargetEntity(); | ||||
|             final PlotPlayer pp = SpongeUtil.getPlayer(player); | ||||
|             final Extent extent = to.getExtent(); | ||||
|             if (!(extent instanceof World)) { | ||||
|                 pp.deleteMeta("location"); | ||||
|                 return; | ||||
|             } | ||||
|             pp.setMeta("location", SpongeUtil.getLocation(player)); | ||||
|             final World world = (World) extent; | ||||
|             final String worldname = ((World) extent).getName(); | ||||
| @@ -881,18 +870,16 @@ public class MainListener { | ||||
|                 } | ||||
|             } | ||||
|             final Integer border = plotworld.getBorder(); | ||||
|             if (border != null) { | ||||
|                 if (z2 > border) { | ||||
|                     final Vector3d pos = to.getPosition(); | ||||
|                     to = to.setPosition(new Vector3d(pos.getX(), pos.getY(), border - 4)); | ||||
|                     event.setToTransform(new Transform(to)); | ||||
|                     MainUtil.sendMessage(pp, C.BORDER); | ||||
|                 } else if (z2 < -border) { | ||||
|                     final Vector3d pos = to.getPosition(); | ||||
|                     to = to.setPosition(new Vector3d(pos.getX(), pos.getY(), -border + 4)); | ||||
|                     event.setToTransform(new Transform(to)); | ||||
|                     MainUtil.sendMessage(pp, C.BORDER); | ||||
|                 } | ||||
|             if (z2 > border) { | ||||
|                 final Vector3d pos = to.getPosition(); | ||||
|                 to = to.setPosition(new Vector3d(pos.getX(), pos.getY(), border - 4)); | ||||
|                 event.setToTransform(new Transform<>(to)); | ||||
|                 MainUtil.sendMessage(pp, C.BORDER); | ||||
|             } else if (z2 < -border) { | ||||
|                 final Vector3d pos = to.getPosition(); | ||||
|                 to = to.setPosition(new Vector3d(pos.getX(), pos.getY(), -border + 4)); | ||||
|                 event.setToTransform(new Transform<>(to)); | ||||
|                 MainUtil.sendMessage(pp, C.BORDER); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|   | ||||
| @@ -1,23 +1,16 @@ | ||||
| package com.plotsquared.sponge.util; | ||||
|  | ||||
| import org.spongepowered.api.text.Text; | ||||
| import org.spongepowered.api.text.title.Title; | ||||
|  | ||||
| import com.intellectualcrafters.plot.object.PlotPlayer; | ||||
| import com.intellectualcrafters.plot.util.AbstractTitle; | ||||
| import com.plotsquared.sponge.object.SpongePlayer; | ||||
| import org.spongepowered.api.text.Text; | ||||
| import org.spongepowered.api.text.title.Title; | ||||
|  | ||||
| public class SpongeTitleManager extends AbstractTitle { | ||||
|      | ||||
|  | ||||
|     @Override | ||||
|     public void sendTitle(final PlotPlayer player, final String head, final String sub, final int in, final int delay, final int out) { | ||||
|         final Title title = Title.builder() | ||||
|         .title(Text.of(head)) | ||||
|         .subtitle(Text.of(sub)) | ||||
|         .fadeIn(in * 20) | ||||
|         .stay(delay * 20) | ||||
|         .fadeOut(out * 20) | ||||
|         .build(); | ||||
|         final Title title = Title.builder().title(Text.of(head)).subtitle(Text.of(sub)).fadeIn(in * 20).stay(delay * 20).fadeOut(out * 20).build(); | ||||
|         ((SpongePlayer) player).player.sendTitle(title); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Matt
					Matt