mirror of
https://github.com/hyperdefined/ToolStats.git
synced 2025-12-08 21:54:58 +00:00
feat: some first changes
Add placeholders for time values, new formatting function and call for new function.
This commit is contained in:
@@ -815,8 +815,8 @@ public class ItemLore {
|
|||||||
}
|
}
|
||||||
|
|
||||||
container.set(toolStats.flightTime, PersistentDataType.LONG, flightTime + duration);
|
container.set(toolStats.flightTime, PersistentDataType.LONG, flightTime + duration);
|
||||||
String oldFlightFormatted = toolStats.numberFormat.formatDouble((double) flightTime / 1000);
|
String oldFlightFormatted = toolStats.numberFormat.formatTime(flightTime);
|
||||||
String newFlightFormatted = toolStats.numberFormat.formatDouble((double) (flightTime + duration) / 1000);
|
String newFlightFormatted = toolStats.numberFormat.formatTime(flightTime + duration);
|
||||||
Component oldLine = toolStats.configTools.formatLore("flight-time", "{time}", oldFlightFormatted);
|
Component oldLine = toolStats.configTools.formatLore("flight-time", "{time}", oldFlightFormatted);
|
||||||
Component newLine = toolStats.configTools.formatLore("flight-time", "{time}", newFlightFormatted);
|
Component newLine = toolStats.configTools.formatLore("flight-time", "{time}", newFlightFormatted);
|
||||||
if (oldLine == null || newLine == null) {
|
if (oldLine == null || newLine == null) {
|
||||||
|
|||||||
@@ -136,4 +136,41 @@ public class NumberFormat {
|
|||||||
public String formatDate(Date date) {
|
public String formatDate(Date date) {
|
||||||
return DATE_FORMAT.format(date);
|
return DATE_FORMAT.format(date);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats time in milliseconds in a human readable format.
|
||||||
|
* @param time The time in milliseconds to format.
|
||||||
|
* @return The time in a human readable format.
|
||||||
|
*/
|
||||||
|
public String formatTime(Long time) {
|
||||||
|
final int SECONDS_PER_MINUTE = 60;
|
||||||
|
final int MINUTES_PER_HOUR = 60;
|
||||||
|
final int HOURS_PER_DAY = 24;
|
||||||
|
final int DAYS_PER_WEEK = 7;
|
||||||
|
final int DAYS_PER_MONTH = 30; // Approximation
|
||||||
|
final int DAYS_PER_YEAR = 365; // Approximation
|
||||||
|
|
||||||
|
long totalSeconds = time / 1000;
|
||||||
|
|
||||||
|
long years = totalSeconds / (DAYS_PER_YEAR * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE);
|
||||||
|
totalSeconds %= (DAYS_PER_YEAR * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE);
|
||||||
|
|
||||||
|
long months = totalSeconds / (DAYS_PER_MONTH * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE);
|
||||||
|
totalSeconds %= (DAYS_PER_MONTH * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE);
|
||||||
|
|
||||||
|
long weeks = totalSeconds / (DAYS_PER_WEEK * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE);
|
||||||
|
totalSeconds %= (DAYS_PER_WEEK * HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE);
|
||||||
|
|
||||||
|
long days = totalSeconds / (HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE);
|
||||||
|
totalSeconds %= (HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE);
|
||||||
|
|
||||||
|
long hours = totalSeconds / (MINUTES_PER_HOUR * SECONDS_PER_MINUTE);
|
||||||
|
totalSeconds %= (MINUTES_PER_HOUR * SECONDS_PER_MINUTE);
|
||||||
|
|
||||||
|
long minutes = totalSeconds / SECONDS_PER_MINUTE;
|
||||||
|
totalSeconds %= SECONDS_PER_MINUTE;
|
||||||
|
|
||||||
|
long seconds = totalSeconds;
|
||||||
|
return "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ messages:
|
|||||||
dropped-by: "&7Dropped by: &8{name}" # name will be player/mob name
|
dropped-by: "&7Dropped by: &8{name}" # name will be player/mob name
|
||||||
damage-taken: "&7Damage taken: &8{damage}"
|
damage-taken: "&7Damage taken: &8{damage}"
|
||||||
arrows-shot: "&7Arrows shot: &8{arrows}"
|
arrows-shot: "&7Arrows shot: &8{arrows}"
|
||||||
flight-time: "&7Flight time: &8{time}"
|
flight-time: "&7Flight time: &8{years}y {months}m {days}d {hours}h {minutes}m {seconds}s"
|
||||||
damage-done: "&7Damage done: &8{damage}"
|
damage-done: "&7Damage done: &8{damage}"
|
||||||
# Set display name for mobs. See: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html
|
# Set display name for mobs. See: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html
|
||||||
mobs:
|
mobs:
|
||||||
|
|||||||
Reference in New Issue
Block a user