mirror of
https://github.com/hyperdefined/ToolStats.git
synced 2025-12-06 06:41:44 +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);
|
||||
String oldFlightFormatted = toolStats.numberFormat.formatDouble((double) flightTime / 1000);
|
||||
String newFlightFormatted = toolStats.numberFormat.formatDouble((double) (flightTime + duration) / 1000);
|
||||
String oldFlightFormatted = toolStats.numberFormat.formatTime(flightTime);
|
||||
String newFlightFormatted = toolStats.numberFormat.formatTime(flightTime + duration);
|
||||
Component oldLine = toolStats.configTools.formatLore("flight-time", "{time}", oldFlightFormatted);
|
||||
Component newLine = toolStats.configTools.formatLore("flight-time", "{time}", newFlightFormatted);
|
||||
if (oldLine == null || newLine == null) {
|
||||
|
||||
@@ -136,4 +136,41 @@ public class NumberFormat {
|
||||
public String formatDate(Date 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
|
||||
damage-taken: "&7Damage taken: &8{damage}"
|
||||
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}"
|
||||
# Set display name for mobs. See: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html
|
||||
mobs:
|
||||
|
||||
Reference in New Issue
Block a user