cpw.mods.fml.client.config

## Interface IConfigElement<T>

- All Known Implementing Classes:
    ConfigElement, DummyConfigElement, DummyConfigElement.DummyCategoryElement, DummyConfigElement.DummyListElement

      public interface IConfigElement<T>

  This interface provides the information needed by GuiConfig and GuiConfigEntries to display config elements for editing.

- - ### Property Summary

    Properties
    Type | Property and Description
    --- | ---
    `boolean` | `is` [Property, Category] Is this object a property object?

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `get()` [Property] Gets this property value.
    `java.lang.Class<? extends GuiEditArrayEntries.IArrayEntry>` | `getArrayEntryClass()` This method returns a class that implements `IArrayEntry`.
    `java.util.List<IConfigElement>` | `getChildElements()` [Category] Gets this category's child categories/properties.
    `java.lang.String` | `getComment()` [Property, Category] Gets the comment for this object.
    `java.lang.Class<? extends GuiConfigEntries.IConfigEntry>` | `getConfigEntryClass()` This method returns a class that implements `IConfigEntry` or null.
    `java.lang.Object` | `getDefault()` [Property] Gets this property's default value.
    `java.lang.Object[]` | `getDefaults()` [Property] Gets this property's default values.
    `java.lang.String` | `getLanguageKey()` [Property, Category] Gets a language key for localization of config GUI entry names.
    `java.lang.Object[]` | `getList()` [Property] Gets this property value as a list.
    `int` | `getMaxListLength()` [Property] Gets the max length of this list property, or -1 if the length is unlimited.
    `T` | `getMaxValue()` [Property] Gets this property's maximum value.
    `T` | `getMinValue()` [Property] Gets this property's minimum value.
    `java.lang.String` | `getName()` [Property, Category] Gets the name of this object.
    `java.lang.String` | `getQualifiedName()` [Category] Gets the qualified name of this object.
    `ConfigGuiType` | `getType()` [Property, Category] Gets the ConfigGuiType value corresponding to the type of this property object, or CONFIG_CATEGORY if this is a category object.
    `java.util.regex.Pattern` | `getValidationPattern()` [Property] Gets a Pattern object used in String property input validation.
    `java.lang.String[]` | `getValidValues()` [Property] Gets a String array of valid values for this property.
    `boolean` | `isDefault()` [Property] Is this property value equal to the default value?
    `boolean` | `isList()` [Property] Is this property object a list?
    `boolean` | `isListLengthFixed()` [Property] Does this list property have to remain a fixed length?
    `boolean` | `isProperty()` [Property, Category] Is this object a property object?
    `boolean` | `requiresMcRestart()` [Property, Category] Whether or not this element requires Minecraft to be restarted when changed.
    `boolean` | `requiresWorldRestart()` [Property, Category] Whether or not this element is safe to modify while a world is running.
    `void` | `set(T value)` [Property] Sets this property's value.
    `void` | `set(T[] aVal)` [Property] Sets this property's value to the specified array.
    `void` | `setToDefault()` [Property] Sets this property's value to the default value.
    `boolean` | `showInGui()` [Property, Category] Whether or not this element should be allowed to show on config GUIs.

- - ### Property Detail

    - #### is

      [Property, Category] Is this object a property object?

  - ### Method Detail

    - #### isProperty

          boolean isProperty()

      [Property, Category] Is this object a property object?

    - #### getConfigEntryClass

          java.lang.Class<? extends GuiConfigEntries.IConfigEntry> getConfigEntryClass()

      This method returns a class that implements `IConfigEntry` or null. This class MUST provide a constructor with the following parameter types: `GuiConfig`, `GuiConfigEntries`, `IConfigElement`

    - #### getArrayEntryClass

          java.lang.Class<? extends GuiEditArrayEntries.IArrayEntry> getArrayEntryClass()

      This method returns a class that implements `IArrayEntry`. This class MUST provide a constructor with the following parameter types: `GuiEditArray`, `GuiEditArrayEntries`, `IConfigElement`, `Object`

    - #### getName

          java.lang.String getName()

      [Property, Category] Gets the name of this object.

    - #### getQualifiedName

          java.lang.String getQualifiedName()

      [Category] Gets the qualified name of this object. This is typically only used for category objects.

    - #### getLanguageKey

          java.lang.String getLanguageKey()

      [Property, Category] Gets a language key for localization of config GUI entry names. If the same key is specified with .tooltip appended to the end, that key will return a localized tooltip when the mouse hovers over the property label/category button.

    - #### getComment

          java.lang.String getComment()

      [Property, Category] Gets the comment for this object. Used for the tooltip if getLanguageKey() + ".tooltip" is not defined in the .lang file.

    - #### getChildElements

          java.util.List<IConfigElement> getChildElements()

      [Category] Gets this category's child categories/properties.

    - #### getType

          ConfigGuiType getType()

      [Property, Category] Gets the ConfigGuiType value corresponding to the type of this property object, or CONFIG_CATEGORY if this is a category object.

    - #### isList

          boolean isList()

      [Property] Is this property object a list?

    - #### isListLengthFixed

          boolean isListLengthFixed()

      [Property] Does this list property have to remain a fixed length?

    - #### getMaxListLength

          int getMaxListLength()

      [Property] Gets the max length of this list property, or -1 if the length is unlimited.

    - #### isDefault

          boolean isDefault()

      [Property] Is this property value equal to the default value?

    - #### getDefault

          java.lang.Object getDefault()

      [Property] Gets this property's default value. If this element is an array, this method should return a String representation of that array using Arrays.toString()

    - #### getDefaults

          java.lang.Object[] getDefaults()

      [Property] Gets this property's default values.

    - #### setToDefault

          void setToDefault()

      [Property] Sets this property's value to the default value.

    - #### requiresWorldRestart

          boolean requiresWorldRestart()

      [Property, Category] Whether or not this element is safe to modify while a world is running. For Categories return false if ANY properties in the category are modifiable while a world is running, true if all are not.

    - #### showInGui

          boolean showInGui()

      [Property, Category] Whether or not this element should be allowed to show on config GUIs.

    - #### requiresMcRestart

          boolean requiresMcRestart()

      [Property, Category] Whether or not this element requires Minecraft to be restarted when changed.

    - #### get

          java.lang.Object get()

      [Property] Gets this property value.

    - #### getList

          java.lang.Object[] getList()

      [Property] Gets this property value as a list. Generally you should be sure of whether the property is a list before calling this.

    - #### set

          void set(T value)

      [Property] Sets this property's value.

    - #### set

          void set(T[] aVal)

      [Property] Sets this property's value to the specified array.

    - #### getValidValues

          java.lang.String[] getValidValues()

      [Property] Gets a String array of valid values for this property. This is generally used for String properties to allow the user to select a value from a list of valid values.

    - #### getMinValue

          T getMinValue()

      [Property] Gets this property's minimum value.

    - #### getMaxValue

          T getMaxValue()

      [Property] Gets this property's maximum value.

    - #### getValidationPattern

          java.util.regex.Pattern getValidationPattern()

      [Property] Gets a Pattern object used in String property input validation.