From bcc1132ed7720d5990b7f334e3ceb2cbd6b58a68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=A9meth=20Noel?= Date: Thu, 1 Jul 2021 15:03:16 +0200 Subject: [PATCH] Deprecated net.minestom.server.entity.Entity.scheduleRemove(long, java.time.temporal.TemporalUnit) --- .../net/minestom/server/entity/Entity.java | 24 ++++++++++++++----- .../server/entity/EntityCreature.java | 3 ++- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/net/minestom/server/entity/Entity.java b/src/main/java/net/minestom/server/entity/Entity.java index 05a3b7239..0abadce61 100644 --- a/src/main/java/net/minestom/server/entity/Entity.java +++ b/src/main/java/net/minestom/server/entity/Entity.java @@ -1530,17 +1530,29 @@ public class Entity implements Viewable, Tickable, EventHandler, Da * @param delay the time before removing the entity, * 0 to cancel the removing * @param temporalUnit the unit of the delay + * @deprecated Replaced by {@link #scheduleRemove(Duration)} */ + @Deprecated public void scheduleRemove(long delay, @NotNull TemporalUnit temporalUnit) { - if (delay == 0) { // Cancel the scheduled remove - this.scheduledRemoveTime = 0; - return; - } - this.scheduledRemoveTime = System.currentTimeMillis() + TimeUnit.getMillis(delay, temporalUnit); + scheduleRemove(Duration.of(delay, temporalUnit)); } /** - * Gets if the entity removal has been scheduled with {@link #scheduleRemove(long, TemporalUnit)}. + * Triggers {@link #remove()} after the specified time. + * + * @param delay the time before removing the entity, + * 0 to cancel the removing + */ + public void scheduleRemove(Duration delay) { + if (delay.isZero()) { // Cancel the scheduled remove + this.scheduledRemoveTime = 0; + return; + } + this.scheduledRemoveTime = System.currentTimeMillis() + delay.toMillis(); + } + + /** + * Gets if the entity removal has been scheduled with {@link #scheduleRemove(Duration)}. * * @return true if the entity removal has been scheduled */ diff --git a/src/main/java/net/minestom/server/entity/EntityCreature.java b/src/main/java/net/minestom/server/entity/EntityCreature.java index e7f7e18be..c8166c737 100644 --- a/src/main/java/net/minestom/server/entity/EntityCreature.java +++ b/src/main/java/net/minestom/server/entity/EntityCreature.java @@ -14,6 +14,7 @@ import net.minestom.server.utils.time.TimeUnit; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.time.Duration; import java.util.Collection; import java.util.Set; import java.util.UUID; @@ -80,7 +81,7 @@ public class EntityCreature extends LivingEntity implements NavigableEntity, Ent if (removalAnimationDelay > 0) { // Needed for proper death animation (wait for it to finish before destroying the entity) - scheduleRemove(removalAnimationDelay, TimeUnit.MILLISECOND); + scheduleRemove(Duration.of(removalAnimationDelay, TimeUnit.MILLISECOND)); } else { // Instant removal without animation playback remove();