81 lines
2.3 KiB
Java
81 lines
2.3 KiB
Java
package eu.univento.commons.player.ban;
|
|
|
|
import eu.univento.commons.player.uuid.NameFetcher;
|
|
import org.joda.time.DateTime;
|
|
import org.joda.time.Period;
|
|
import org.joda.time.format.PeriodFormatter;
|
|
import org.joda.time.format.PeriodFormatterBuilder;
|
|
|
|
import java.util.Date;
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* @author joethei
|
|
* @version 1.0
|
|
*/
|
|
public class BanData {
|
|
|
|
private BanReason reason;
|
|
private UUID banner;
|
|
private String customMessage;
|
|
private Date unbanDate;
|
|
private String proof;
|
|
|
|
public BanData(BanReason reason, UUID banner, String customMessage, Date unbanDate, String proof) {
|
|
this.reason = reason;
|
|
this.banner = banner;
|
|
this.customMessage = customMessage;
|
|
this.unbanDate = unbanDate;
|
|
this.proof = proof;
|
|
}
|
|
|
|
public BanReason getReason() {
|
|
return reason;
|
|
}
|
|
|
|
public UUID getBanner() {
|
|
return banner;
|
|
}
|
|
|
|
public boolean hasCustomReason() {
|
|
return getReason() == BanReason.CUSTOM;
|
|
}
|
|
|
|
public String getCustomMessage() {
|
|
return customMessage;
|
|
}
|
|
|
|
public Date getUnbanDate() {
|
|
return unbanDate;
|
|
}
|
|
|
|
public String getProof() {
|
|
return proof;
|
|
}
|
|
|
|
public String getBannerName() {
|
|
if(banner == null)
|
|
return "Auto Ban";
|
|
return NameFetcher.getRequest(banner);
|
|
}
|
|
|
|
public String getTimeTillUnban() {
|
|
assert getUnbanDate() != null;
|
|
final DateTime end = new DateTime(getUnbanDate().getTime());
|
|
final DateTime now = new DateTime(new Date().getTime());
|
|
Period period = new Period(now, end);
|
|
PeriodFormatter formatter = new PeriodFormatterBuilder().printZeroAlways().minimumPrintedDigits(2)
|
|
.appendYears().appendSuffix(" Jahr", " Jahre")
|
|
.appendSeparator(", ")
|
|
.appendMonths().appendSuffix(" Monat", " Monate")
|
|
.appendSeparator(", ")
|
|
.appendDays().appendSuffix(" Tag", " Tage")
|
|
.appendSeparator(" und ")
|
|
.appendHours().appendSuffix(" Stunde", " Stunden")
|
|
.appendMinutes().appendSuffix(" Minute", " Minuten")
|
|
.appendSeconds().appendSuffix(" Sekunde", " Sekunden")
|
|
.toFormatter();
|
|
|
|
return period.toString(formatter);
|
|
}
|
|
} |