Merge branch '2.x' into custom-currency-formatting.

This commit is contained in:
Ali Moghnieh 2016-06-20 12:55:31 +01:00
commit 0237d485bf
5 changed files with 40 additions and 7 deletions

View file

@ -3,6 +3,7 @@ package com.earth2me.essentials;
import com.earth2me.essentials.commands.IEssentialsCommand;
import com.earth2me.essentials.signs.EssentialsSign;
import com.earth2me.essentials.textreader.IText;
import org.bukkit.ChatColor;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.event.EventPriority;
@ -245,5 +246,7 @@ public interface ISettings extends IConf {
boolean isWorldTimePermissions();
boolean isSpawnOnJoin();
NumberFormat getCurrencyFormat();
}

View file

@ -1177,6 +1177,11 @@ public class Settings implements net.ess3.api.ISettings {
return config.getBoolean("world-time-permissions", false);
}
@Override
public boolean isSpawnOnJoin() {
return config.getBoolean("spawn-on-join", false);
}
private NumberFormat currencyFormat;
private NumberFormat _getCurrencyFormat() {

View file

@ -814,4 +814,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.

View file

@ -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;
}

View file

@ -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."