mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-12-22 17:18:37 +01:00
Implement spawn-on-join configuration.
Admins can now specify whether all joining players should be teleported to the user's group spawn when joining the server. Players can be assigned the essentials.spawn-on-join.exempt permission to become exempt from this feature.
This commit is contained in:
parent
a267fb16b8
commit
b673630a7e
@ -243,4 +243,6 @@ public interface ISettings extends IConf {
|
||||
boolean isSendFlyEnableOnJoin();
|
||||
|
||||
boolean isWorldTimePermissions();
|
||||
|
||||
boolean isSpawnOnJoin();
|
||||
}
|
||||
|
@ -1163,4 +1163,9 @@ public class Settings implements net.ess3.api.ISettings {
|
||||
public boolean isWorldTimePermissions() {
|
||||
return config.getBoolean("world-time-permissions", false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSpawnOnJoin() {
|
||||
return config.getBoolean("spawn-on-join", false);
|
||||
}
|
||||
}
|
||||
|
@ -801,4 +801,7 @@ respawn-listener-priority: high
|
||||
# When users die, should they respawn at their first home or bed, instead of the spawnpoint?
|
||||
respawn-at-home: false
|
||||
|
||||
# Teleport all joining players to the spawnpoint
|
||||
spawn-on-join: false
|
||||
|
||||
# End of file <-- No seriously, you're done with configuration.
|
||||
|
@ -68,9 +68,27 @@ public class EssentialsSpawnPlayerListener implements Listener {
|
||||
});
|
||||
}
|
||||
|
||||
public void delayedJoin(Player player) {
|
||||
public void delayedJoin(final Player player) {
|
||||
if (player.hasPlayedBefore()) {
|
||||
LOGGER.log(Level.FINE, "Old player join");
|
||||
|
||||
if (ess.getSettings().isSpawnOnJoin()) {
|
||||
final User user = ess.getUser(player);
|
||||
if (!user.isAuthorized("essentials.spawn-on-join.exempt")) {
|
||||
ess.scheduleSyncDelayedTask(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
Location spawn = spawns.getSpawn(user.getGroup());
|
||||
try {
|
||||
user.getTeleport().now(spawn, false, TeleportCause.PLUGIN);
|
||||
} catch (Exception e) {
|
||||
ess.showError(user.getSource(), e, "spawn-on-join");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -16,3 +16,7 @@ commands:
|
||||
description: Teleport to the spawnpoint.
|
||||
usage: /<command> [player]
|
||||
aliases: [espawn]
|
||||
permissions:
|
||||
essentials.spawn-on-join.exempt:
|
||||
default: false
|
||||
description: "Bypass spawn teleportation on join when spawn-on-join is true."
|
||||
|
Loading…
Reference in New Issue
Block a user