package tc.oc.commons.bukkit.users;
import me.anxuiz.settings.Setting;
import me.anxuiz.settings.SettingBuilder;
import me.anxuiz.settings.types.EnumType;
import me.anxuiz.settings.types.Name;
import tc.oc.commons.bukkit.nick.Familiarity;
public class JoinMessageSetting {
private static final Setting inst = new SettingBuilder()
.name("JoinMessages").alias("jms").alias("jm")
.summary("Join messages displayed to you")
.description("Options:\n" +
"ALL: all messages\n" +
"FRIENDS: messages from friends\n" +
"NONE: no messages\n")
.type(new EnumType<>("Join Message Options", Options.class))
.defaultValue(Options.FRIENDS)
.get();
public static Setting get() {
return inst;
}
public enum Options {
@Name("all") ALL(Familiarity.PERSON),
@Name("friends") FRIENDS(Familiarity.FRIEND),
@Name("none") NONE(Familiarity.SELF);
private final Familiarity minimumFamiliarity;
Options(Familiarity minimumFamiliarity) {
this.minimumFamiliarity = minimumFamiliarity;
}
public boolean isAllowed(Familiarity familiarity) {
return familiarity.noLessThan(minimumFamiliarity);
}
}
}