diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java index e994a7c2..3414022a 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java @@ -49,6 +49,7 @@ import org.bukkit.event.player.PlayerShearEntityEvent; import java.util.concurrent.ConcurrentHashMap; import static fr.xephi.authme.listener.ListenerService.shouldCancelEvent; +import org.bukkit.GameMode; /** * Listener class for player's events @@ -192,6 +193,11 @@ public class AuthMePlayerListener implements Listener { return; } + if (Settings.isForceSurvivalModeEnabled + && !player.hasPermission(PlayerPermission.BYPASS_FORCE_SURVIVAL.getNode())) { + player.setGameMode(GameMode.SURVIVAL); + } + String name = player.getName().toLowerCase(); String joinMsg = event.getJoinMessage(); diff --git a/src/main/java/fr/xephi/authme/settings/Settings.java b/src/main/java/fr/xephi/authme/settings/Settings.java index e7f450c0..dfebd88f 100644 --- a/src/main/java/fr/xephi/authme/settings/Settings.java +++ b/src/main/java/fr/xephi/authme/settings/Settings.java @@ -65,7 +65,7 @@ public final class Settings { isSessionsEnabled, isAllowRestrictedIp, isMovementAllowed, isKickNonRegisteredEnabled, isForceSingleSessionEnabled, isForceSpawnLocOnJoinEnabled, - isSaveQuitLocationEnabled, + isSaveQuitLocationEnabled, isForceSurvivalModeEnabled, isCachingEnabled, isKickOnWrongPasswordEnabled, enablePasswordConfirmation, protectInventoryBeforeLogInEnabled, isBackupActivated, diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index d00e4b51..8959f33b 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -152,6 +152,9 @@ settings: noTeleport: false # Regex syntax for allowed Chars in passwords. allowedPasswordCharacters: '[\x21-\x7E]*' + GameMode: + # ForceSurvivalMode to player when join ? + ForceSurvivalMode: false security: # minimum Length of password minPasswordLength: 5