diff --git a/src/main/java/org/bukkit/configuration/ConfigurationSection.java b/src/main/java/org/bukkit/configuration/ConfigurationSection.java
index 739a3359..0843c04e 100644
--- a/src/main/java/org/bukkit/configuration/ConfigurationSection.java
+++ b/src/main/java/org/bukkit/configuration/ConfigurationSection.java
@@ -390,6 +390,156 @@ public interface ConfigurationSection {
public boolean isList(String path);
+ /**
+ * Gets the requested List of String by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no default
+ * value was specified, this will return null.
+ *
+ * This method will attempt to cast any values into a String if possible, but may
+ * miss any values out if they are not compatible.
+ *
+ * @param path Path of the List to get.
+ * @return Requested List of String.
+ */
+ public List getStringList(String path);
+
+ /**
+ * Gets the requested List of Integer by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no default
+ * value was specified, this will return null.
+ *
+ * This method will attempt to cast any values into a Integer if possible, but may
+ * miss any values out if they are not compatible.
+ *
+ * @param path Path of the List to get.
+ * @return Requested List of Integer.
+ */
+ public List getIntegerList(String path);
+
+ /**
+ * Gets the requested List of Boolean by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no default
+ * value was specified, this will return null.
+ *
+ * This method will attempt to cast any values into a Boolean if possible, but may
+ * miss any values out if they are not compatible.
+ *
+ * @param path Path of the List to get.
+ * @return Requested List of Boolean.
+ */
+ public List getBooleanList(String path);
+
+ /**
+ * Gets the requested List of Double by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no default
+ * value was specified, this will return null.
+ *
+ * This method will attempt to cast any values into a Double if possible, but may
+ * miss any values out if they are not compatible.
+ *
+ * @param path Path of the List to get.
+ * @return Requested List of Double.
+ */
+ public List getDoubleList(String path);
+
+ /**
+ * Gets the requested List of Float by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no default
+ * value was specified, this will return null.
+ *
+ * This method will attempt to cast any values into a Float if possible, but may
+ * miss any values out if they are not compatible.
+ *
+ * @param path Path of the List to get.
+ * @return Requested List of Float.
+ */
+ public List getFloatList(String path);
+
+ /**
+ * Gets the requested List of Long by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no default
+ * value was specified, this will return null.
+ *
+ * This method will attempt to cast any values into a Long if possible, but may
+ * miss any values out if they are not compatible.
+ *
+ * @param path Path of the List to get.
+ * @return Requested List of Long.
+ */
+ public List getLongList(String path);
+
+ /**
+ * Gets the requested List of Byte by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no default
+ * value was specified, this will return null.
+ *
+ * This method will attempt to cast any values into a Byte if possible, but may
+ * miss any values out if they are not compatible.
+ *
+ * @param path Path of the List to get.
+ * @return Requested List of Byte.
+ */
+ public List getByteList(String path);
+
+ /**
+ * Gets the requested List of Character by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no default
+ * value was specified, this will return null.
+ *
+ * This method will attempt to cast any values into a Character if possible, but may
+ * miss any values out if they are not compatible.
+ *
+ * @param path Path of the List to get.
+ * @return Requested List of Character.
+ */
+ public List getCharacterList(String path);
+
+ /**
+ * Gets the requested List of Short by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no default
+ * value was specified, this will return null.
+ *
+ * This method will attempt to cast any values into a Short if possible, but may
+ * miss any values out if they are not compatible.
+ *
+ * @param path Path of the List to get.
+ * @return Requested List of Short.
+ */
+ public List getShortList(String path);
+
+ /**
+ * Gets the requested List of Maps by path.
+ *
+ * If the List does not exist but a default value has been specified, this
+ * will return the default value. If the List does not exist and no default
+ * value was specified, this will return null.
+ *
+ * This method will attempt to cast any values into a Map if possible, but may
+ * miss any values out if they are not compatible.
+ *
+ * @param path Path of the List to get.
+ * @return Requested List of Maps.
+ */
+ public List