package net.t7seven7t.craftfx.data.effect; import net.t7seven7t.craftfx.data.AbstractData; import net.t7seven7t.craftfx.data.Data; import net.t7seven7t.util.TimeUtil; import java.util.Optional; /** * */ public class DelayData extends AbstractData { private final long delayDef; private long delay; public DelayData(long delayDef) { this.delayDef = delayDef; } public long getDelayTicks() { return delay; } @Override public void onDataHolderUpdate() { Optional<String> optTime = get("delay", String.class); this.delay = optTime.map(TimeUtil::parseString).map(d -> d / 50).orElse(delayDef); } @Override public Data getCopy() { return new DelayData(0); } }