Skip to content

Commit

Permalink
GH-7 Remove litecommands from dependency (#7)
Browse files Browse the repository at this point in the history
* Remove LiteCommands from Dependency.

* Remove PeriodParser.java
  • Loading branch information
vLuckyyy authored Feb 3, 2024
1 parent 319ad1f commit 6849afe
Show file tree
Hide file tree
Showing 4 changed files with 410 additions and 3 deletions.
1 change: 0 additions & 1 deletion multification-cdn/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,4 @@ dependencies {
api(project(":multification-core"))

api("net.dzikoysk:cdn:1.14.4")
api("dev.rollczi:litecommands-core:3.2.2")
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
import static com.eternalcode.multification.notice.NoticeContent.Times;
import com.eternalcode.multification.notice.NoticePart;
import com.eternalcode.multification.notice.NoticeType;
import dev.rollczi.litecommands.time.DurationParser;
import dev.rollczi.litecommands.time.TemporalAmountParser;
import com.eternalcode.multification.time.DurationParser;
import com.eternalcode.multification.time.TemporalAmountParser;
import java.time.Duration;
import java.util.List;
import net.dzikoysk.cdn.CdnSettings;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package com.eternalcode.multification.time;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.Map;

public class DurationParser extends TemporalAmountParser<Duration> {

public static final TemporalAmountParser<Duration> TIME_UNITS = new DurationParser()
.withUnit("ms", ChronoUnit.MILLIS)
.withUnit("s", ChronoUnit.SECONDS)
.withUnit("m", ChronoUnit.MINUTES)
.withUnit("h", ChronoUnit.HOURS);

public static final TemporalAmountParser<Duration> DATE_TIME_UNITS = new DurationParser()
.withUnit("ns", ChronoUnit.NANOS)
.withUnit("us", ChronoUnit.MICROS)
.withUnit("ms", ChronoUnit.MILLIS)
.withUnit("s", ChronoUnit.SECONDS)
.withUnit("m", ChronoUnit.MINUTES)
.withUnit("h", ChronoUnit.HOURS)
.withUnit("d", ChronoUnit.DAYS)
.withUnit("w", ChronoUnit.WEEKS)
.withUnit("mo", ChronoUnit.MONTHS)
.withUnit("y", ChronoUnit.YEARS);

public DurationParser() {
super(LocalDateTimeProvider.now());
}

public DurationParser(LocalDateTimeProvider localDateTimeProvider) {
super(localDateTimeProvider);
}

private DurationParser(Map<String, ChronoUnit> units, LocalDateTimeProvider baseForTimeEstimation) {
super(units, baseForTimeEstimation);
}

@Override
protected TemporalAmountParser<Duration> clone(Map<String, ChronoUnit> units, LocalDateTimeProvider baseForTimeEstimation) {
return new DurationParser(units, baseForTimeEstimation);
}

@Override
protected Duration plus(LocalDateTimeProvider baseForTimeEstimation, Duration temporalAmount, TemporalEntry temporalEntry) {
if (temporalEntry.getUnit().isDurationEstimated()) {
LocalDateTime baseDateTime = baseForTimeEstimation.get();
LocalDateTime estimatedDateTime = baseDateTime.plus(temporalEntry.getCount(), temporalEntry.getUnit());
Duration estimatedDuration = Duration.between(baseDateTime, estimatedDateTime);

return temporalAmount.plus(estimatedDuration);
}

return temporalAmount.plus(temporalEntry.getCount(), temporalEntry.getUnit());
}


@Override
protected Duration negate(Duration temporalAmount) {
return temporalAmount.negated();
}

@Override
protected Duration getZero() {
return Duration.ZERO;
}

@Override
protected Duration toDuration(LocalDateTimeProvider baseForTimeEstimation, Duration temporalAmount) {
return temporalAmount;
}

}
Loading

0 comments on commit 6849afe

Please sign in to comment.