diff --git a/Essentials/src/com/earth2me/essentials/textreader/KeywordReplacer.java b/Essentials/src/com/earth2me/essentials/textreader/KeywordReplacer.java index cb2df7745..0fb8ddeb0 100644 --- a/Essentials/src/com/earth2me/essentials/textreader/KeywordReplacer.java +++ b/Essentials/src/com/earth2me/essentials/textreader/KeywordReplacer.java @@ -2,18 +2,23 @@ package com.earth2me.essentials.textreader; import net.ess3.api.IEssentials; import com.earth2me.essentials.User; +import com.earth2me.essentials.utils.DateUtil; import com.earth2me.essentials.utils.DescParseTickFormat; import com.earth2me.essentials.utils.NumberUtil; +import java.lang.management.ManagementFactory; import java.text.DateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +import org.bukkit.Location; import org.bukkit.World; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; +import static com.earth2me.essentials.I18n._; + public class KeywordReplacer implements IText { @@ -45,7 +50,8 @@ public class KeywordReplacer implements IText String displayName, ipAddress, balance, mails, world; String worlds, online, unique, playerlist, date, time; String worldTime12, worldTime24, worldDate, plugins; - String userName, version, address; + String userName, version, address, tps, uptime; + String coords; if (sender instanceof Player) { final User user = ess.getUser(sender); @@ -55,14 +61,16 @@ public class KeywordReplacer implements IText address = user.getAddress() == null ? "" : user.getAddress().toString(); balance = NumberUtil.displayCurrency(user.getMoney(), ess); mails = Integer.toString(user.getMails().size()); - world = user.getLocation() == null || user.getLocation().getWorld() == null ? "" : user.getLocation().getWorld().getName(); + final Location location = user.getLocation(); + world = location == null || location.getWorld() == null ? "" : location.getWorld().getName(); worldTime12 = DescParseTickFormat.format12(user.getWorld() == null ? 0 : user.getWorld().getTime()); worldTime24 = DescParseTickFormat.format24(user.getWorld() == null ? 0 : user.getWorld().getTime()); worldDate = DateFormat.getDateInstance(DateFormat.MEDIUM, ess.getI18n().getCurrentLocale()).format(DescParseTickFormat.ticksToDate(user.getWorld() == null ? 0 : user.getWorld().getFullTime())); + coords = _("coordsKeyword", location.getBlockX(), location.getBlockY(), location.getBlockZ()); } else { - displayName = address = ipAddress = balance = mails = world = worldTime12 = worldTime24 = worldDate = ""; + displayName = address = ipAddress = balance = mails = world = worldTime12 = worldTime24 = worldDate = coords = ""; } userName = sender.getName(); @@ -118,6 +126,9 @@ public class KeywordReplacer implements IText time = DateFormat.getTimeInstance(DateFormat.MEDIUM, ess.getI18n().getCurrentLocale()).format(new Date()); version = ess.getServer().getVersion(); + + tps = Double.toString(ess.getTimer().getAverageTPS()); + uptime = DateUtil.formatDateDiff(ManagementFactory.getRuntimeMXBean().getStartTime()); for (int i = 0; i < input.getLines().size(); i++) { @@ -138,6 +149,9 @@ public class KeywordReplacer implements IText line = line.replace("{WORLDTIME12}", worldTime12); line = line.replace("{WORLDTIME24}", worldTime24); line = line.replace("{WORLDDATE}", worldDate); + line = line.replace("{COORDS}", coords); + line = line.replace("{TPS}", tps); + line = line.replace("{UPTIME}", uptime); if (extended) { diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index e4463cc8d..5634f50a2 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_cs.properties b/Essentials/src/messages_cs.properties index 26250a1ed..147408c2f 100644 --- a/Essentials/src/messages_cs.properties +++ b/Essentials/src/messages_cs.properties @@ -529,3 +529,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_da.properties b/Essentials/src/messages_da.properties index 60e07bfdc..35f591b0b 100644 --- a/Essentials/src/messages_da.properties +++ b/Essentials/src/messages_da.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_de.properties b/Essentials/src/messages_de.properties index 79b407e11..d22240cc7 100644 --- a/Essentials/src/messages_de.properties +++ b/Essentials/src/messages_de.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_en.properties b/Essentials/src/messages_en.properties index e4463cc8d..5634f50a2 100644 --- a/Essentials/src/messages_en.properties +++ b/Essentials/src/messages_en.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_es.properties b/Essentials/src/messages_es.properties index 06d0b68d5..8ca839857 100644 --- a/Essentials/src/messages_es.properties +++ b/Essentials/src/messages_es.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_fi.properties b/Essentials/src/messages_fi.properties index 8d4792ecc..8eb0f5272 100644 --- a/Essentials/src/messages_fi.properties +++ b/Essentials/src/messages_fi.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_fr.properties b/Essentials/src/messages_fr.properties index 41ec3bf8d..98b059ebd 100644 --- a/Essentials/src/messages_fr.properties +++ b/Essentials/src/messages_fr.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_it.properties b/Essentials/src/messages_it.properties index fba0b9884..e24695fe4 100644 --- a/Essentials/src/messages_it.properties +++ b/Essentials/src/messages_it.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_nl.properties b/Essentials/src/messages_nl.properties index 6df697311..dc0ca9a31 100644 --- a/Essentials/src/messages_nl.properties +++ b/Essentials/src/messages_nl.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_pl.properties b/Essentials/src/messages_pl.properties index 93f92854c..0cb96b2c1 100644 --- a/Essentials/src/messages_pl.properties +++ b/Essentials/src/messages_pl.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_pt.properties b/Essentials/src/messages_pt.properties index 153e105f1..2623c3d7e 100644 --- a/Essentials/src/messages_pt.properties +++ b/Essentials/src/messages_pt.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_ro.properties b/Essentials/src/messages_ro.properties index f0ebbc564..aa8095417 100644 --- a/Essentials/src/messages_ro.properties +++ b/Essentials/src/messages_ro.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_ru.properties b/Essentials/src/messages_ru.properties index e0850d50b..a2f180ac6 100644 --- a/Essentials/src/messages_ru.properties +++ b/Essentials/src/messages_ru.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_sv.properties b/Essentials/src/messages_sv.properties index 4fb3ca1f3..c495a0052 100644 --- a/Essentials/src/messages_sv.properties +++ b/Essentials/src/messages_sv.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_zh.properties b/Essentials/src/messages_zh.properties index 44ad49f1d..e7aac6136 100644 --- a/Essentials/src/messages_zh.properties +++ b/Essentials/src/messages_zh.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_zh_HK.properties b/Essentials/src/messages_zh_HK.properties index 4a63fa828..c905a92dc 100644 --- a/Essentials/src/messages_zh_HK.properties +++ b/Essentials/src/messages_zh_HK.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2} diff --git a/Essentials/src/messages_zh_TW.properties b/Essentials/src/messages_zh_TW.properties index 597c77c8d..d674ea379 100644 --- a/Essentials/src/messages_zh_TW.properties +++ b/Essentials/src/messages_zh_TW.properties @@ -524,3 +524,4 @@ isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. mobDataList=\u00a76Valid mob data\:\u00a7r {0} vanish=\u00a76Vanish for {0}\u00a76\: {1} noLocationFound=\u00a74No valid location found. +coordsKeyword={0}, {1}, {2}