diff --git a/src/main/java/net/minestom/server/entity/Entity.java b/src/main/java/net/minestom/server/entity/Entity.java
index f244fe672..6acdc4c62 100644
--- a/src/main/java/net/minestom/server/entity/Entity.java
+++ b/src/main/java/net/minestom/server/entity/Entity.java
@@ -1394,18 +1394,6 @@ public class Entity implements Viewable, Tickable, TagHandler, PermissionHandler
this.lastAbsoluteSynchronizationTime = 0;
}
- /**
- * Set custom cooldown for position synchronization.
- *
- * @param cooldown custom cooldown for position synchronization.
- * @deprecated Replaced by {@link #setCustomSynchronizationCooldown(Duration)}
- */
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true)
- public void setCustomSynchronizationCooldown(@Nullable net.minestom.server.utils.time.UpdateOption cooldown) {
- setCustomSynchronizationCooldown(cooldown != null ? Duration.ofMillis(cooldown.toMilliseconds()) : null);
- }
-
/**
* Set custom cooldown for position synchronization.
*
diff --git a/src/main/java/net/minestom/server/entity/ItemEntity.java b/src/main/java/net/minestom/server/entity/ItemEntity.java
index 843d10a90..72c48b38b 100644
--- a/src/main/java/net/minestom/server/entity/ItemEntity.java
+++ b/src/main/java/net/minestom/server/entity/ItemEntity.java
@@ -55,19 +55,6 @@ public class ItemEntity extends Entity {
return mergeDelay;
}
- /**
- * Changes the merge update option.
- * Can be set to null to entirely remove the delay.
- *
- * @param mergeUpdateOption the new merge update option
- * @deprecated Replaced by {@link #setMergeDelay(Duration)}
- */
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true)
- public static void setMergeUpdateOption(@Nullable net.minestom.server.utils.time.UpdateOption mergeUpdateOption) {
- setMergeDelay(mergeUpdateOption != null ? mergeUpdateOption.toDuration() : null);
- }
-
/**
* Changes the merge delay.
* Can be set to null to entirely remove the delay.
diff --git a/src/main/java/net/minestom/server/entity/ai/goal/FollowTargetGoal.java b/src/main/java/net/minestom/server/entity/ai/goal/FollowTargetGoal.java
index 37f89d8ba..b4f53393a 100644
--- a/src/main/java/net/minestom/server/entity/ai/goal/FollowTargetGoal.java
+++ b/src/main/java/net/minestom/server/entity/ai/goal/FollowTargetGoal.java
@@ -1,34 +1,20 @@
package net.minestom.server.entity.ai.goal;
+import net.minestom.server.coordinate.Point;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.EntityCreature;
import net.minestom.server.entity.ai.GoalSelector;
import net.minestom.server.entity.pathfinding.Navigator;
-import net.minestom.server.coordinate.Point;
import org.jetbrains.annotations.NotNull;
import java.time.Duration;
public class FollowTargetGoal extends GoalSelector {
-
private final Duration pathDuration;
private long lastUpdateTime = 0;
private boolean forceEnd = false;
private Point lastTargetPos;
- /**
- * Creates a follow target goal object.
- *
- * @param entityCreature the entity
- * @param pathUpdateOption the time between each path update (to check if the target moved)
- * @deprecated Replaced by {@link #FollowTargetGoal(EntityCreature, Duration)}
- */
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true)
- public FollowTargetGoal(@NotNull EntityCreature entityCreature, @NotNull net.minestom.server.utils.time.UpdateOption pathUpdateOption) {
- this(entityCreature, pathUpdateOption.toDuration());
- }
-
/**
* Creates a follow target goal object.
*
diff --git a/src/main/java/net/minestom/server/event/server/ClientPingServerEvent.java b/src/main/java/net/minestom/server/event/server/ClientPingServerEvent.java
index b6df76970..eebf4d5cd 100644
--- a/src/main/java/net/minestom/server/event/server/ClientPingServerEvent.java
+++ b/src/main/java/net/minestom/server/event/server/ClientPingServerEvent.java
@@ -35,18 +35,6 @@ public class ClientPingServerEvent implements CancellableEvent {
this.delay = DEFAULT_DELAY;
}
- /**
- * Creates a new client ping server event with 0 delay
- *
- * @param connection the player connection
- * @param payload the payload the client sent
- */
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true)
- public ClientPingServerEvent(@NotNull PlayerConnection connection, long payload, net.minestom.server.utils.time.UpdateOption delay) {
- this(connection, payload, delay.toDuration());
- }
-
/**
* Creates a new client ping server event with 0 delay
*
@@ -98,19 +86,6 @@ public class ClientPingServerEvent implements CancellableEvent {
return delay;
}
- /**
- * Adds to the delay until minestom will send the ping response packet.
- *
- * @param delay the delay
- *
- * @deprecated Replaced by {@link #addDelay(Duration)}
- */
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true)
- public void addDelay(@NotNull net.minestom.server.utils.time.UpdateOption delay) {
- addDelay(delay.toDuration());
- }
-
/**
* Adds to the delay until minestom will send the ping response packet.
*
@@ -120,19 +95,6 @@ public class ClientPingServerEvent implements CancellableEvent {
this.delay = this.delay.plus(delay);
}
- /**
- * Sets the delay until minestom will send the ping response packet.
- *
- * @param delay the delay
- *
- * @deprecated Replaced by {@link #setDelay(Duration)}
- */
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true)
- public void setDelay(@NotNull net.minestom.server.utils.time.UpdateOption delay) {
- setDelay(delay.toDuration());
- }
-
/**
* Sets the delay until minestom will send the ping response packet.
*
diff --git a/src/main/java/net/minestom/server/instance/Instance.java b/src/main/java/net/minestom/server/instance/Instance.java
index 4120ba45a..4ca3fcb32 100644
--- a/src/main/java/net/minestom/server/instance/Instance.java
+++ b/src/main/java/net/minestom/server/instance/Instance.java
@@ -383,25 +383,10 @@ public abstract class Instance implements BlockGetter, BlockSetter, Tickable, Ta
*
* @return the client update rate for time related packet
*/
- @Nullable
- public Duration getTimeUpdate() {
+ public @Nullable Duration getTimeUpdate() {
return timeUpdate;
}
- /**
- * Changes the rate at which the client is updated about the time
- *
- * Setting it to null means that the client will never know about time change
- * (but will still change server-side)
- *
- * @param timeUpdate the new update rate concerning time
- */
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true)
- public void setTimeUpdate(@Nullable net.minestom.server.utils.time.UpdateOption timeUpdate) {
- setTimeUpdate(timeUpdate != null ? timeUpdate.toDuration() : null);
- }
-
/**
* Changes the rate at which the client is updated about the time
*
@@ -419,12 +404,8 @@ public abstract class Instance implements BlockGetter, BlockSetter, Tickable, Ta
*
* @return the {@link TimeUpdatePacket} with this instance data
*/
- @NotNull
- private TimeUpdatePacket createTimePacket() {
- TimeUpdatePacket timeUpdatePacket = new TimeUpdatePacket();
- timeUpdatePacket.worldAge = worldAge;
- timeUpdatePacket.timeOfDay = time;
- return timeUpdatePacket;
+ private @NotNull TimeUpdatePacket createTimePacket() {
+ return new TimeUpdatePacket(worldAge, time);
}
/**
@@ -432,8 +413,7 @@ public abstract class Instance implements BlockGetter, BlockSetter, Tickable, Ta
*
* @return the {@link WorldBorder} linked to the instance
*/
- @NotNull
- public WorldBorder getWorldBorder() {
+ public @NotNull WorldBorder getWorldBorder() {
return worldBorder;
}
@@ -442,8 +422,7 @@ public abstract class Instance implements BlockGetter, BlockSetter, Tickable, Ta
*
* @return an unmodifiable {@link Set} containing all the entities in the instance
*/
- @NotNull
- public Set getEntities() {
+ public @NotNull Set<@NotNull Entity> getEntities() {
return Collections.unmodifiableSet(entities);
}
diff --git a/src/main/java/net/minestom/server/network/packet/server/play/TimeUpdatePacket.java b/src/main/java/net/minestom/server/network/packet/server/play/TimeUpdatePacket.java
index 5107d9d8d..a7c5e06bc 100644
--- a/src/main/java/net/minestom/server/network/packet/server/play/TimeUpdatePacket.java
+++ b/src/main/java/net/minestom/server/network/packet/server/play/TimeUpdatePacket.java
@@ -11,10 +11,14 @@ public class TimeUpdatePacket implements ServerPacket {
public long worldAge;
public long timeOfDay;
- /**
- * Default constructor, required for reflection operations.
- */
- public TimeUpdatePacket() {}
+ public TimeUpdatePacket(long worldAge, long timeOfDay) {
+ this.worldAge = worldAge;
+ this.timeOfDay = timeOfDay;
+ }
+
+ public TimeUpdatePacket() {
+ this(0, 0);
+ }
@Override
public void write(@NotNull BinaryWriter writer) {
diff --git a/src/main/java/net/minestom/server/timer/TaskBuilder.java b/src/main/java/net/minestom/server/timer/TaskBuilder.java
index cf3af3b57..d8cf7e6d5 100644
--- a/src/main/java/net/minestom/server/timer/TaskBuilder.java
+++ b/src/main/java/net/minestom/server/timer/TaskBuilder.java
@@ -2,7 +2,6 @@ package net.minestom.server.timer;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import net.minestom.server.extras.selfmodification.MinestomRootClassLoader;
-import net.minestom.server.utils.time.TimeUnit;
import org.jetbrains.annotations.NotNull;
import java.time.Duration;
@@ -22,7 +21,9 @@ public class TaskBuilder {
private final Runnable runnable;
// True if the task planned for the application shutdown
private final boolean shutdown;
- /** Extension which owns this task, or null if none */
+ /**
+ * Extension which owns this task, or null if none
+ */
private final String owningExtension;
// Delay value for the task execution
private long delay;
@@ -30,8 +31,8 @@ public class TaskBuilder {
private long repeat;
/**
* If this task is owned by an extension, should it survive the unloading of said extension?
- * May be useful for delay tasks, but it can prevent the extension classes from being unloaded, and preventing a full
- * reload of that extension.
+ * May be useful for delay tasks, but it can prevent the extension classes from being unloaded, and preventing a full
+ * reload of that extension.
*/
private boolean isTransient;
@@ -69,34 +70,17 @@ public class TaskBuilder {
* @param unit The unit of time for {@code time}
* @return this builder, for chaining
*/
- @NotNull
- public TaskBuilder delay(long time, @NotNull TemporalUnit unit) {
+ public @NotNull TaskBuilder delay(long time, @NotNull TemporalUnit unit) {
return delay(Duration.of(time, unit));
}
- /**
- * Specifies that the {@link Task} should delay its execution by the specified amount of time.
- *
- * @param updateOption the UpdateOption for this builder.
- * @return this builder, for chaining
- *
- * @deprecated Replaced by {@link #delay(Duration)}
- */
- @SuppressWarnings("removal")
- @NotNull
- @Deprecated(forRemoval = true)
- public TaskBuilder delay(net.minestom.server.utils.time.UpdateOption updateOption) {
- return delay(updateOption.toDuration());
- }
-
/**
* Specifies that the {@link Task} should delay its execution by the specified amount of time.
*
* @param duration the Duration for this builder.
* @return this builder, for chaining
*/
- @NotNull
- public TaskBuilder delay(Duration duration) {
+ public @NotNull TaskBuilder delay(@NotNull Duration duration) {
this.delay = duration.toMillis();
return this;
}
@@ -108,34 +92,17 @@ public class TaskBuilder {
* @param unit The {@link TemporalUnit} for {@code time}
* @return this builder, for chaining
*/
- @NotNull
- public TaskBuilder repeat(long time, @NotNull TemporalUnit unit) {
+ public @NotNull TaskBuilder repeat(long time, @NotNull TemporalUnit unit) {
return repeat(Duration.of(time, unit));
}
- /**
- * Specifies that the {@link Task} should continue to run after waiting for the specified value until it is terminated.
- *
- * @param updateOption the UpdateOption for this builder.
- * @return this builder, for chaining
- *
- * @deprecated Replaced by {@link #repeat(Duration)}
- */
- @SuppressWarnings("removal")
- @NotNull
- @Deprecated(forRemoval = true)
- public TaskBuilder repeat(net.minestom.server.utils.time.UpdateOption updateOption) {
- return repeat(updateOption.toDuration());
- }
-
/**
* Specifies that the {@link Task} should continue to run after waiting for the specified value until it is terminated.
*
* @param duration the Duration for this builder.
* @return this builder, for chaining
*/
- @NotNull
- public TaskBuilder repeat(Duration duration) {
+ public @NotNull TaskBuilder repeat(@NotNull Duration duration) {
this.repeat = duration.toMillis();
return this;
}
@@ -145,8 +112,7 @@ public class TaskBuilder {
*
* @return this builder, for chaining
*/
- @NotNull
- public TaskBuilder clearDelay() {
+ public @NotNull TaskBuilder clearDelay() {
this.delay = 0L;
return this;
}
@@ -156,15 +122,16 @@ public class TaskBuilder {
*
* @return this builder, for chaining
*/
- @NotNull
- public TaskBuilder clearRepeat() {
+ public @NotNull TaskBuilder clearRepeat() {
this.repeat = 0L;
return this;
}
- /** If this task is owned by an extension, should it survive the unloading of said extension?
- * May be useful for delay tasks, but it can prevent the extension classes from being unloaded, and preventing a full
- * reload of that extension. */
+ /**
+ * If this task is owned by an extension, should it survive the unloading of said extension?
+ * May be useful for delay tasks, but it can prevent the extension classes from being unloaded, and preventing a full
+ * reload of that extension.
+ */
public TaskBuilder makeTransient() {
isTransient = true;
return this;
@@ -190,7 +157,7 @@ public class TaskBuilder {
synchronized (shutdownTasks) {
shutdownTasks.put(task.getId(), task);
}
- if(owningExtension != null) {
+ if (owningExtension != null) {
this.schedulerManager.onScheduleShutdownFromExtension(owningExtension, task);
}
} else {
diff --git a/src/main/java/net/minestom/server/utils/time/Cooldown.java b/src/main/java/net/minestom/server/utils/time/Cooldown.java
index 0ee9efd9b..a3c978661 100644
--- a/src/main/java/net/minestom/server/utils/time/Cooldown.java
+++ b/src/main/java/net/minestom/server/utils/time/Cooldown.java
@@ -6,19 +6,9 @@ import java.time.Duration;
import java.time.temporal.TemporalUnit;
public final class Cooldown {
-
private final Duration duration;
private long lastUpdate;
- /**
- * @deprecated Replaced by {@link #Cooldown(Duration)}
- */
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true)
- public Cooldown(@NotNull UpdateOption updateOption) {
- this(updateOption.toDuration());
- }
-
public Cooldown(Duration duration) {
this.duration = duration;
this.lastUpdate = System.currentTimeMillis();
@@ -39,10 +29,10 @@ public final class Cooldown {
/**
* Gets if something is in cooldown based on the current time.
*
- * @param currentTime the current time in milliseconds
- * @param lastUpdate the last update in milliseconds
- * @param temporalUnit the time unit of the cooldown
- * @param cooldown the value of the cooldown
+ * @param currentTime the current time in milliseconds
+ * @param lastUpdate the last update in milliseconds
+ * @param temporalUnit the time unit of the cooldown
+ * @param cooldown the value of the cooldown
* @return true if the cooldown is in progress, false otherwise
*/
public static boolean hasCooldown(long currentTime, long lastUpdate, @NotNull TemporalUnit temporalUnit, long cooldown) {
@@ -52,25 +42,9 @@ public final class Cooldown {
/**
* Gets if something is in cooldown based on the current time.
*
- * @param currentTime the current time in milliseconds
- * @param lastUpdate the last update in milliseconds
- * @param updateOption the cooldown
- * @return true if the cooldown is in progress, false otherwise
- *
- * @deprecated Replaced by {@link #hasCooldown(long, long, Duration)}
- */
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true)
- public static boolean hasCooldown(long currentTime, long lastUpdate, @NotNull UpdateOption updateOption) {
- return hasCooldown(currentTime, lastUpdate, updateOption.toDuration());
- }
-
- /**
- * Gets if something is in cooldown based on the current time.
- *
- * @param currentTime the current time in milliseconds
- * @param lastUpdate the last update in milliseconds
- * @param duration the cooldown
+ * @param currentTime the current time in milliseconds
+ * @param lastUpdate the last update in milliseconds
+ * @param duration the cooldown
* @return true if the cooldown is in progress, false otherwise
*/
public static boolean hasCooldown(long currentTime, long lastUpdate, @NotNull Duration duration) {
@@ -81,9 +55,9 @@ public final class Cooldown {
/**
* Gets if something is in cooldown based on the current time ({@link System#currentTimeMillis()}).
*
- * @param lastUpdate the last update in milliseconds
- * @param temporalUnit the time unit of the cooldown
- * @param cooldown the value of the cooldown
+ * @param lastUpdate the last update in milliseconds
+ * @param temporalUnit the time unit of the cooldown
+ * @param cooldown the value of the cooldown
* @return true if the cooldown is in progress, false otherwise
*/
public static boolean hasCooldown(long lastUpdate, @NotNull TemporalUnit temporalUnit, int cooldown) {
diff --git a/src/main/java/net/minestom/server/utils/time/UpdateOption.java b/src/main/java/net/minestom/server/utils/time/UpdateOption.java
deleted file mode 100644
index cc9faa457..000000000
--- a/src/main/java/net/minestom/server/utils/time/UpdateOption.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package net.minestom.server.utils.time;
-
-import org.jetbrains.annotations.NotNull;
-
-import java.time.Duration;
-import java.time.temporal.TemporalUnit;
-import java.util.Objects;
-
-/**
- * @deprecated Replaced by {@link java.time.Duration}
- */
-@Deprecated(forRemoval = true)
-public class UpdateOption {
-
- private final long value;
- private final TemporalUnit temporalUnit;
-
- public UpdateOption(long value, @NotNull TemporalUnit temporalUnit) {
- this.value = value;
- this.temporalUnit = temporalUnit;
- }
-
- public long getValue() {
- return value;
- }
-
- @NotNull
- public TemporalUnit getTemporalUnit() {
- return temporalUnit;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(value, temporalUnit);
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- UpdateOption updateOption = (UpdateOption) o;
- return Objects.equals(value, updateOption.value) && Objects.equals(temporalUnit, updateOption.temporalUnit);
- }
-
- /**
- * Converts this update option to milliseconds
- *
- * @return the converted milliseconds based on the time value and the unit
- */
- public long toMilliseconds() {
- return toDuration().toMillis();
- }
-
- public Duration toDuration() {
- return Duration.of(value, temporalUnit);
- }
-}