Minestom/src/main/java/net/minestom/server/event/entity/EntityFireEvent.java

54 lines
1.4 KiB
Java
Raw Normal View History

package net.minestom.server.event.entity;
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;
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 {
2021-06-02 07:09:15 +02:00
private final Entity entity;
2021-06-29 23:04:25 +02:00
private Duration duration;
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);
}
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) {
this.duration = duration;
}
@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;
}
}