From b7ae002a9df80e4415d795fbbcbe398d48086839 Mon Sep 17 00:00:00 2001 From: WiIIiam278 Date: Sun, 6 Jun 2021 01:50:42 +0100 Subject: [PATCH] Add config option to force spawn on login, Close #28 --- src/main/java/me/william278/huskhomes2/config/Settings.java | 4 ++++ .../me/william278/huskhomes2/listeners/PlayerListener.java | 6 ++++++ src/main/resources/config.yml | 1 + 3 files changed, 11 insertions(+) diff --git a/src/main/java/me/william278/huskhomes2/config/Settings.java b/src/main/java/me/william278/huskhomes2/config/Settings.java index 9085d7a98..d70ce241b 100644 --- a/src/main/java/me/william278/huskhomes2/config/Settings.java +++ b/src/main/java/me/william278/huskhomes2/config/Settings.java @@ -83,6 +83,7 @@ public class Settings { private boolean doSpawnCommand; private boolean doCrossServerSpawn; private String crossServerSpawnWarpName; + private boolean forceSpawnOnLogin; // Warp command settings private boolean doWarpCommand; @@ -187,6 +188,7 @@ public void reloadFromFile(FileConfiguration config) { this.doSpawnCommand = config.getBoolean("spawn_command.enabled"); this.doCrossServerSpawn = config.getBoolean("spawn_command.bungee_network_spawn.enabled"); this.crossServerSpawnWarpName = config.getString("spawn_command.bungee_network_spawn.warp_name"); + this.forceSpawnOnLogin = config.getBoolean("spawn_command.force_teleport_on_login"); this.doWarpCommand = config.getBoolean("warp_command.enabled"); this.doPermissionRestrictedWarps = config.getBoolean("warp_command.permission_restrictions.require_permission"); @@ -337,6 +339,8 @@ public String getSpawnWarpName() { return crossServerSpawnWarpName; } + public boolean doForceSpawnOnLogin() { return forceSpawnOnLogin; } + public boolean doEconomy() { return doEconomy; } diff --git a/src/main/java/me/william278/huskhomes2/listeners/PlayerListener.java b/src/main/java/me/william278/huskhomes2/listeners/PlayerListener.java index 39c857368..c4300d51e 100644 --- a/src/main/java/me/william278/huskhomes2/listeners/PlayerListener.java +++ b/src/main/java/me/william278/huskhomes2/listeners/PlayerListener.java @@ -66,6 +66,12 @@ public void onPlayerJoin(PlayerJoinEvent e) { if (isTeleporting != null) { if (isTeleporting) { TeleportManager.teleportPlayer(p); + } else { + if (HuskHomes.getSettings().doForceSpawnOnLogin()) { + if (TeleportManager.getSpawnLocation() != null) { + Bukkit.getScheduler().runTask(plugin, () -> PaperLib.teleportAsync(p, TeleportManager.getSpawnLocation().getLocation())); + } + } } } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index b09ebfbff..ba9eb3488 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -47,6 +47,7 @@ warp_command: hide_restricted_warps: true spawn_command: enabled: true + force_teleport_on_login: false bungee_network_spawn: enabled: false warp_name: 'Spawn'