Furaffinity Custom Settings
Helper Script to create Custom settings on Furaffinitiy
How to use
@require
this script
- Optional: Change Extension Settings Header Name at any Point in your Code:
javascript
CustomSettings.Name = "Extension Settings";
- Optional: Change Extension Settings Name at any Point in your Code:
javascript
CustomSettings.Provider = "Midori's Script Settings";
- Optional: Change the Settings Header Name:
javascript
CustomSettings.HeaderName = "My Script Settings";
- Create a new Setting:
javascript
const setting = new Setting("Setting Name", "Setting Description", SettingType, "Type Description", DefaultValue, Action);
See Setting for more info
- Trigger when settings should be loaded:
javascript
CustomSettings.loadSettings();
Features
- Create new Settings and easily access Settings change
- Have different Setting Types
- Number (TextField that only allowes Numbers)
- Text (TextField that allows any Character)
- Boolean (Checkbox with a description)
- Action (Button with a description)
- Change Settings Page Name and Header Name
- Have multiple different Setting Pages
Documentation
Setting
The Setting class contains following Properties:
id
- Can only be set once. Defines the Setting elements html id. Is set to setting Name, if not set manually.
name
- Name of the Setting. (Also defines Settings Header name)
description
- Description of the Setting.
type
- Type of the Setting. (See SettingTypes for more info)
typeDescription
- Description of the Setting element itself. (Doesn't apply on SettingTypes.Number
)
defaultValue
- Default value for the Setting. (Is ignored on SettingTypes.Action
)
action
- Action that is executed when the Setting changes. (See Action for more info)
value
- Current value of the Setting.
SettingTypes
SettingTypes can have the following values:
SettingTypes.Number
- A TextField that only accepts Numbers (Type Description doesn't aplly here)
SettingTypes.Boolean
- A Checkbox with a description
SettingTypes.Action
- A Button with a certain Action
Action
The Action Parameter defines a Function that is executed when the Setting changed. It receives the Settings Element as a Parameter. Example:
new Setting("Name", "Description", SettingTypes.Boolean, "Checkbox Description", false, (target) => {
console.log(target.checked); // In this case target is a Checkbox
});
Here every time the Checkbox is clicked the program prints out wether it is checked or not.