Yet another server-specific settings API wrapper for EXILED.
- Fluent builders for all option types enables declarative configuration through method chaining, making settings definitions both readable and maintainable.
- Numeric IDs have been replaced with human-readable string IDs to eliminate the magic numbers. The
OptionIdentifiersRegistryensures that persistent numeric IDs are mapped correctly, maintaining stability across server restarts. - Seamless integration with other EXILED plugins that using SSS.
Put Yassa.dll under the release tab into %appdata%\EXILED\Plugins (Windows) or ~/.config/EXILED/Plugins (Linux) folder.
Here's an example of how to register settings using Yassa
OptionNode node = new OptionNodeBuilder()
.SetHeader("My honest option node")
.SetHint("Option node hint")
.AddTextInputOption(o => o
.SetCustomId("YourPlugin.NicknameContent")
.SetLabel("Custom Nickname")
.SetCharacterLimit(50)
.SetPlaceholder("Your nickname here..."))
.AddButtonOption(o => o
.SetCustomId("YourPlugin.Confirm")
.SetLabel("Save Changes")
.SetText("Confirm")
.OnClicked(OnConfirmButtonClicked))
.Build();
OptionsService.Register(node);
private void OnConfirmButtonClicked(Player player, ButtonOption button)
{
player.CustomName = player.GetStringValue("YourPlugin.NicknameContent");
}Check out Yassa.Test for complete implementation examples.