diff --git a/src/main/java/ch/njol/skript/util/Timespan.java b/src/main/java/ch/njol/skript/util/Timespan.java index ff70f8b365f..3b192a34dff 100644 --- a/src/main/java/ch/njol/skript/util/Timespan.java +++ b/src/main/java/ch/njol/skript/util/Timespan.java @@ -18,18 +18,6 @@ */ package ch.njol.skript.util; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.Locale; - -import org.eclipse.jdt.annotation.Nullable; -import org.jetbrains.annotations.ApiStatus; -import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval; - import ch.njol.skript.Skript; import ch.njol.skript.localization.GeneralWords; import ch.njol.skript.localization.Language; @@ -38,6 +26,17 @@ import ch.njol.util.NonNullPair; import ch.njol.util.coll.CollectionUtils; import ch.njol.yggdrasil.YggdrasilSerializable; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.ApiStatus.ScheduledForRemoval; +import org.jetbrains.annotations.Nullable; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class Timespan implements YggdrasilSerializable, Comparable { // REMIND unit @@ -211,7 +210,7 @@ public Timespan(TimePeriod timePeriod, long time) { /** * Builds a Timespan from the given long parameter. * - * @deprecated Use {@link Timespan#Timespan(TimePeriod, long)} + * @deprecated Use {@link #Timespan(TimePeriod, long)} * * @param ticks The amount of Minecraft ticks to convert to a timespan. * @return Timespan based on the provided long. @@ -257,7 +256,7 @@ public long getTicks() { * @return the amount of TimePeriod this timespan represents. */ public long getAs(TimePeriod timePeriod) { - return Math.round(millis * timePeriod.getTime()); + return millis / timePeriod.getTime(); } /** diff --git a/src/test/skript/tests/regressions/6908-timespan too big.sk b/src/test/skript/tests/regressions/6908-timespan too big.sk new file mode 100644 index 00000000000..82277775d68 --- /dev/null +++ b/src/test/skript/tests/regressions/6908-timespan too big.sk @@ -0,0 +1,6 @@ +test "large timespans truncated to ints": + set {_now} to now + set {_a} to unix timestamp of {_now} * 1 seconds + set {_b} to unix timestamp of 10 minutes from {_now} * 1 second + assert {_b} - {_a} is 10 minutes with "large timespan was truncated" +