Files
OpenPrestige/src/main/java/dev/zprestige/prestige/EnumSetting.java
T
2026-10-23 00:28:57 +01:00

47 lines
1.2 KiB
Java

package dev.zprestige.prestige;
import dev.zprestige.prestige.annotation.Chainable;
import java.util.function.Predicate;
public class EnumSetting extends Setting {
// covariant getValue (added by fix_typed_values.py)
@Override
public String getValue() {
return (String)super.getValue();
}
private final String[] options;
public EnumSetting(String settingName, String defaultOption, String[] optionValues) {
super(settingName, defaultOption);
this.options = optionValues;
}
@Chainable
public String[] getOptions() {
return this.options;
}
public EnumSetting visibleWhen(Predicate visibilityPredicate) {
super.setVisibility(visibilityPredicate);
return this;
}
@Chainable
public EnumSetting withDescription(String newDescription) {
super.setDescription(newDescription);
return this;
}
@Override
public Setting setVisibility(Predicate visibilityPredicate) {
return this.visibleWhen(visibilityPredicate);
}
@Chainable
@Override
public Setting setDescription(String newDescription) {
return this.withDescription(newDescription);
}
}