mirror of
https://github.com/hyperdefined/ToolStats.git
synced 2025-12-05 22:31:45 +00:00
add normalize-time-creation
This commit is contained in:
@@ -121,7 +121,13 @@ public class CraftItem implements Listener {
|
||||
}
|
||||
// get the current time
|
||||
long timeCreated = System.currentTimeMillis();
|
||||
Date finalDate = new Date(timeCreated);
|
||||
Date finalDate;
|
||||
if (toolStats.config.getBoolean("normalize-time-creation")) {
|
||||
finalDate = toolStats.numberFormat.normalizeTime(timeCreated);
|
||||
timeCreated = finalDate.getTime();
|
||||
} else {
|
||||
finalDate = new Date(timeCreated);
|
||||
}
|
||||
PersistentDataContainer container = meta.getPersistentDataContainer();
|
||||
|
||||
// if the item already has the tag
|
||||
|
||||
@@ -88,7 +88,13 @@ public class CreativeEvent implements Listener {
|
||||
}
|
||||
// get the current time
|
||||
long timeCreated = System.currentTimeMillis();
|
||||
Date finalDate = new Date(timeCreated);
|
||||
Date finalDate;
|
||||
if (toolStats.config.getBoolean("normalize-time-creation")) {
|
||||
finalDate = toolStats.numberFormat.normalizeTime(timeCreated);
|
||||
timeCreated = finalDate.getTime();
|
||||
} else {
|
||||
finalDate = new Date(timeCreated);
|
||||
}
|
||||
PersistentDataContainer container = meta.getPersistentDataContainer();
|
||||
|
||||
// if the item already has the tag
|
||||
|
||||
@@ -100,7 +100,13 @@ public class GenerateLoot implements Listener {
|
||||
return null;
|
||||
}
|
||||
long timeCreated = System.currentTimeMillis();
|
||||
Date finalDate = new Date(timeCreated);
|
||||
Date finalDate;
|
||||
if (toolStats.config.getBoolean("normalize-time-creation")) {
|
||||
finalDate = toolStats.numberFormat.normalizeTime(timeCreated);
|
||||
timeCreated = finalDate.getTime();
|
||||
} else {
|
||||
finalDate = new Date(timeCreated);
|
||||
}
|
||||
PersistentDataContainer container = meta.getPersistentDataContainer();
|
||||
|
||||
if (container.has(toolStats.timeCreated, PersistentDataType.LONG) || container.has(toolStats.itemOwner, PersistentDataType.LONG)) {
|
||||
|
||||
@@ -91,7 +91,13 @@ public class PickupItem implements Listener {
|
||||
return null;
|
||||
}
|
||||
long timeCreated = System.currentTimeMillis();
|
||||
Date finalDate = new Date(timeCreated);
|
||||
Date finalDate;
|
||||
if (toolStats.config.getBoolean("normalize-time-creation")) {
|
||||
finalDate = toolStats.numberFormat.normalizeTime(timeCreated);
|
||||
timeCreated = finalDate.getTime();
|
||||
} else {
|
||||
finalDate = new Date(timeCreated);
|
||||
}
|
||||
PersistentDataContainer container = meta.getPersistentDataContainer();
|
||||
|
||||
if (!toolStats.config.getBoolean("enabled.elytra-tag")) {
|
||||
|
||||
@@ -110,7 +110,13 @@ public class PlayerFish implements Listener {
|
||||
return null;
|
||||
}
|
||||
long timeCreated = System.currentTimeMillis();
|
||||
Date finalDate = new Date(timeCreated);
|
||||
Date finalDate;
|
||||
if (toolStats.config.getBoolean("normalize-time-creation")) {
|
||||
finalDate = toolStats.numberFormat.normalizeTime(timeCreated);
|
||||
timeCreated = finalDate.getTime();
|
||||
} else {
|
||||
finalDate = new Date(timeCreated);
|
||||
}
|
||||
PersistentDataContainer container = meta.getPersistentDataContainer();
|
||||
|
||||
if (container.has(toolStats.timeCreated, PersistentDataType.LONG) || container.has(toolStats.itemOwner, PersistentDataType.LONG)) {
|
||||
|
||||
@@ -127,7 +127,13 @@ public class VillagerTrade implements Listener {
|
||||
return null;
|
||||
}
|
||||
long timeCreated = System.currentTimeMillis();
|
||||
Date finalDate = new Date(timeCreated);
|
||||
Date finalDate;
|
||||
if (toolStats.config.getBoolean("normalize-time-creation")) {
|
||||
finalDate = toolStats.numberFormat.normalizeTime(timeCreated);
|
||||
timeCreated = finalDate.getTime();
|
||||
} else {
|
||||
finalDate = new Date(timeCreated);
|
||||
}
|
||||
PersistentDataContainer container = meta.getPersistentDataContainer();
|
||||
|
||||
if (container.has(toolStats.timeCreated, PersistentDataType.LONG) || container.has(toolStats.itemOwner, PersistentDataType.LONG)) {
|
||||
|
||||
@@ -22,6 +22,10 @@ import lol.hyper.toolstats.ToolStats;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.DecimalFormatSymbols;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
@@ -35,6 +39,7 @@ public class NumberFormat {
|
||||
|
||||
/**
|
||||
* Utility class to format different numbers
|
||||
*
|
||||
* @param toolStats Plugin instance.
|
||||
*/
|
||||
public NumberFormat(ToolStats toolStats) {
|
||||
@@ -140,8 +145,9 @@ public class NumberFormat {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a human readable form of time in milliseconds.
|
||||
* E.g. given 3752348000L outputs 1 years, 5 months, 3 days, 14 hours, 12 minutes, 28 seconds.
|
||||
* Returns a human-readable form of time in milliseconds.
|
||||
* E.g. given 3752348000L outputs 1 year, 5 months, 3 days, 14 hours, 12 minutes, 28 seconds.
|
||||
*
|
||||
* @param time The time in ms.
|
||||
* @return Map with units as keys and time value, e.g. "years" (key) -> 1 (value)
|
||||
*/
|
||||
@@ -193,4 +199,13 @@ public class NumberFormat {
|
||||
|
||||
return timeUnits;
|
||||
}
|
||||
|
||||
public Date normalizeTime(Long time) {
|
||||
Instant instant = Instant.ofEpochMilli(time);
|
||||
ZoneId zone = ZoneId.systemDefault();
|
||||
|
||||
LocalDate localDate = instant.atZone(zone).toLocalDate();
|
||||
ZonedDateTime midnight = localDate.atStartOfDay(zone);
|
||||
return Date.from(midnight.toInstant());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,6 +93,9 @@ public class Version12 {
|
||||
toolStats.config.set("messages.crafted.crafted-by", craftedByMessage);
|
||||
toolStats.config.set("messages.crafted.crafted-on", craftedOnMessage);
|
||||
|
||||
toolStats.logger.info("Adding normalize-time-creation");
|
||||
toolStats.config.set("normalize-time-creation", false);
|
||||
|
||||
// save the config and reload it
|
||||
try {
|
||||
toolStats.config.save("plugins" + File.separator + "ToolStats" + File.separator + "config.yml");
|
||||
|
||||
@@ -265,4 +265,8 @@ number-formats:
|
||||
# This has no use currently, but can be used for future features for dupe detection.
|
||||
generate-hash-for-items: false
|
||||
|
||||
config-version: 11
|
||||
# Make when items are created at midnight on the date.
|
||||
# This makes dates for items more "normalized" instead of being at different times.
|
||||
normalize-time-creation: false
|
||||
|
||||
config-version: 12
|
||||
Reference in New Issue
Block a user