Interface IConfigManager


public interface IConfigManager
Used to adjust settings on an object,

Obtained via IConfigurableObject

  • Method Details

    • getSettings

      Set<Setting<?>> getSettings()
      get a list of different settings
      Returns:
      enum set of settings
    • hasSetting

      default boolean hasSetting(Setting<?> setting)
      Checks if this config manager supports the given setting.
    • getSetting

      <T extends Enum<T>> T getSetting(Setting<T> setting)
      Get Value of a particular setting
      Parameters:
      setting - the setting
      Returns:
      value of setting
      Throws:
      UnsupportedSettingException - if setting has not been registered before
    • putSetting

      <T extends Enum<T>> void putSetting(Setting<T> setting, T newValue)
      Change setting
      Parameters:
      setting - to be changed setting
      newValue - new value for setting
      Throws:
      UnsupportedSettingException - if setting has not been registered before
    • writeToNBT

      void writeToNBT(net.minecraft.nbt.CompoundTag destination, net.minecraft.core.HolderLookup.Provider registries)
      write all settings to the NBT Tag so they can be read later.
      Parameters:
      destination - to be written nbt tag
      registries -
    • readFromNBT

      boolean readFromNBT(net.minecraft.nbt.CompoundTag src, net.minecraft.core.HolderLookup.Provider registries)
      Only works after settings have been registered
      Parameters:
      src - to be read nbt tag
      registries -
      Returns:
      true if any configuration was loaded from src
    • importSettings

      boolean importSettings(Map<String,String> settings)
      Import settings that were previously exported from exportSettings(). Unparsable or unknown settings are ignored.
      Returns:
      true if any of the settings were successfully imported
    • exportSettings

      Map<String,String> exportSettings()
      Exports all settings.
    • builder

      static IConfigManagerBuilder builder(net.minecraft.world.item.ItemStack stack)
      Get a builder for configuration manager that stores its settings in a block entity.
    • builder

      static IConfigManagerBuilder builder(Supplier<net.minecraft.world.item.ItemStack> stack)
      Get a builder for configuration manager that stores its settings in a block entity.
    • builder

      static IConfigManagerBuilder builder(Runnable changeListener)
    • builder

      static IConfigManagerBuilder builder(IConfigManagerListener changeListener)