2020-05-07 15:46:21 +02:00
|
|
|
package net.minestom.server.event.entity;
|
2020-05-05 21:04:05 +02:00
|
|
|
|
2020-05-14 18:57:44 +02:00
|
|
|
import net.minestom.server.entity.Entity;
|
2021-06-09 07:11:01 +02:00
|
|
|
import net.minestom.server.event.trait.CancellableEvent;
|
2021-06-02 07:09:15 +02:00
|
|
|
import net.minestom.server.event.trait.EntityEvent;
|
|
|
|
import org.jetbrains.annotations.NotNull;
|
2020-05-05 21:04:05 +02:00
|
|
|
|
2021-06-29 23:04:25 +02:00
|
|
|
import java.time.Duration;
|
|
|
|
import java.time.temporal.TemporalUnit;
|
|
|
|
|
2021-06-02 08:17:03 +02:00
|
|
|
public class EntityFireEvent implements EntityEvent, CancellableEvent {
|
2020-05-05 21:04:05 +02:00
|
|
|
|
2021-06-02 07:09:15 +02:00
|
|
|
private final Entity entity;
|
2021-06-29 23:04:25 +02:00
|
|
|
private Duration duration;
|
2020-05-05 21:04:05 +02:00
|
|
|
|
2020-12-16 03:21:59 +01:00
|
|
|
private boolean cancelled;
|
|
|
|
|
2021-06-30 01:20:52 +02:00
|
|
|
public EntityFireEvent(Entity entity, int duration, TemporalUnit temporalUnit) {
|
|
|
|
this(entity, Duration.of(duration, temporalUnit));
|
2021-06-29 23:04:25 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public EntityFireEvent(Entity entity, Duration duration) {
|
2021-06-02 07:09:15 +02:00
|
|
|
this.entity = entity;
|
2021-06-29 23:04:25 +02:00
|
|
|
setFireTime(duration);
|
2020-05-05 21:04:05 +02:00
|
|
|
}
|
|
|
|
|
2021-06-29 23:04:25 +02:00
|
|
|
public long getFireTime(TemporalUnit temporalUnit) {
|
|
|
|
return duration.toNanos() / temporalUnit.getDuration().toNanos();
|
|
|
|
}
|
|
|
|
|
2021-06-30 01:20:52 +02:00
|
|
|
public void setFireTime(int duration, TemporalUnit temporalUnit) {
|
|
|
|
setFireTime(Duration.of(duration, temporalUnit));
|
2021-06-29 23:04:25 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public void setFireTime(Duration duration) {
|
2020-05-05 21:04:05 +02:00
|
|
|
this.duration = duration;
|
|
|
|
}
|
|
|
|
|
2020-12-16 03:21:59 +01:00
|
|
|
@Override
|
|
|
|
public boolean isCancelled() {
|
|
|
|
return cancelled;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void setCancelled(boolean cancel) {
|
|
|
|
this.cancelled = cancel;
|
|
|
|
}
|
2021-06-02 07:09:15 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public @NotNull Entity getEntity() {
|
|
|
|
return entity;
|
|
|
|
}
|
2020-05-05 21:04:05 +02:00
|
|
|
}
|