package fr.xephi.authme.settings.properties; import ch.jalu.configme.Comment; import ch.jalu.configme.SettingsHolder; import ch.jalu.configme.properties.Property; import fr.xephi.authme.process.register.RegisterSecondaryArgument; import fr.xephi.authme.process.register.RegistrationType; import static ch.jalu.configme.properties.PropertyInitializer.newProperty; public class RegistrationSettings implements SettingsHolder { @Comment("Enable registration on the server?") public static final Property IS_ENABLED = newProperty("settings.registration.enabled", true); @Comment({ "Send every X seconds a message to a player to", "remind him that he has to login/register"}) public static final Property MESSAGE_INTERVAL = newProperty("settings.registration.messageInterval", 5); @Comment({ "Only registered and logged in players can play.", "See restrictions for exceptions"}) public static final Property FORCE = newProperty("settings.registration.force", true); @Comment({ "Type of registration: PASSWORD or EMAIL", "PASSWORD = account is registered with a password supplied by the user;", "EMAIL = password is generated and sent to the email provided by the user.", "More info at https://github.com/AuthMe/AuthMeReloaded/wiki/Registration" }) public static final Property REGISTRATION_TYPE = newProperty(RegistrationType.class, "settings.registration.type", RegistrationType.PASSWORD); @Comment({ "Second argument the /register command should take: NONE = no 2nd argument", "CONFIRMATION = must repeat first argument (pass or email)", "EMAIL_OPTIONAL = for password register: 2nd argument can be empty or have email address", "EMAIL_MANDATORY = for password register: 2nd argument MUST be an email address" }) public static final Property REGISTER_SECOND_ARGUMENT = newProperty(RegisterSecondaryArgument.class, "settings.registration.secondArg", RegisterSecondaryArgument.CONFIRMATION); @Comment({ "Do we force kick a player after a successful registration?", "Do not use with login feature below"}) public static final Property FORCE_KICK_AFTER_REGISTER = newProperty("settings.registration.forceKickAfterRegister", false); @Comment("Does AuthMe need to enforce a /login after a successful registration?") public static final Property FORCE_LOGIN_AFTER_REGISTER = newProperty("settings.registration.forceLoginAfterRegister", false); @Comment({ "Enable to display the welcome message (welcome.txt) after a login", "You can use colors in this welcome.txt + some replaced strings:", "{PLAYER}: player name, {ONLINE}: display number of online players,", "{MAXPLAYERS}: display server slots, {IP}: player ip, {LOGINS}: number of players logged,", "{WORLD}: player current world, {SERVER}: server name", "{VERSION}: get current bukkit version, {COUNTRY}: player country"}) public static final Property USE_WELCOME_MESSAGE = newProperty("settings.useWelcomeMessage", true); @Comment({ "Broadcast the welcome message to the server or only to the player?", "set true for server or false for player"}) public static final Property BROADCAST_WELCOME_MESSAGE = newProperty("settings.broadcastWelcomeMessage", false); @Comment("Should we delay the join message and display it once the player has logged in?") public static final Property DELAY_JOIN_MESSAGE = newProperty("settings.delayJoinMessage", false); @Comment({ "The custom join message that will be sent after a successful login,", "use 'none' to use the original one.", "Available variables:,", "{PLAYERNAME}: the player name (no colors)", "{DISPLAYNAME}: the player name (with colors)"}) public static final Property CUSTOM_JOIN_MESSAGE = newProperty("settings.customJoinMessage", "none"); @Comment("Should we remove the leave messages of unlogged users?") public static final Property REMOVE_UNLOGGED_LEAVE_MESSAGE = newProperty("settings.removeUnloggedLeaveMessage", false); @Comment("Should we remove join messages altogether?") public static final Property REMOVE_JOIN_MESSAGE = newProperty("settings.removeJoinMessage", false); @Comment("Should we remove leave messages altogether?") public static final Property REMOVE_LEAVE_MESSAGE = newProperty("settings.removeLeaveMessage", false); @Comment("Do we need to add potion effect Blinding before login/reigster?") public static final Property APPLY_BLIND_EFFECT = newProperty("settings.applyBlindEffect", false); @Comment({ "Do we need to prevent people to login with another case?", "If Xephi is registered, then Xephi can login, but not XEPHI/xephi/XePhI"}) public static final Property PREVENT_OTHER_CASE = newProperty("settings.preventOtherCase", true); private RegistrationSettings() { } }