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;
@ -242,8 +243,10 @@ public interface ISettings extends IConf {
boolean isMilkBucketEasterEggEnabled();
boolean isSendFlyEnableOnJoin();
boolean isWorldTimePermissions();
boolean isSpawnOnJoin();
NumberFormat getCurrencyFormat();
}

View File

@ -1176,12 +1176,17 @@ 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);
}
private NumberFormat currencyFormat;
private NumberFormat _getCurrencyFormat() {
String currencyFormatString = config.getString("currency-format", "#,##0.00");
String symbolLocaleString = config.getString("currency-symbol-format-locale");
DecimalFormatSymbols decimalFormatSymbols;
if (symbolLocaleString != null) {
@ -1193,7 +1198,7 @@ public class Settings implements net.ess3.api.ISettings {
DecimalFormat currencyFormat = new DecimalFormat(currencyFormatString, decimalFormatSymbols);
currencyFormat.setRoundingMode(RoundingMode.FLOOR);
// Updates NumberUtil#PRETTY_FORMAT field so that all of Essentials
// can follow a single format.
try {

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

@ -15,4 +15,8 @@ commands:
spawn:
description: Teleport to the spawnpoint.
usage: /<command> [player]
aliases: [espawn]
aliases: [espawn]
permissions:
essentials.spawn-on-join.exempt:
default: false
description: "Bypass spawn teleportation on join when spawn-on-join is true."