package tc.oc.pgm.death; 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 DeathMessageSetting { private static final Setting inst = new SettingBuilder() .name("DeathMessages").alias("dms").alias("dm") .summary("Death messages displayed to you") .description("Options:\n" + "ALL: show all death messages\n" + "FRIENDS: show friend death messages\n" + "OWN: show own death messages\n") .type(new EnumType<>("Death 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("own") OWN(Familiarity.SELF); private final Familiarity minimumFamiliarity; Options(Familiarity minimumFamiliarity) { this.minimumFamiliarity = minimumFamiliarity; } public boolean isAllowed(Familiarity familiarity) { return familiarity.noLessThan(minimumFamiliarity); } } }