Files
PrimalSorcery/build/tmp/recompileMc/sources/net/minecraft/advancements/CriterionProgress.java
Mohammad-Ali Minaie b86dedad2f base mod created
2018-10-08 09:07:47 -04:00

89 lines
2.3 KiB
Java

package net.minecraft.advancements;
import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSyntaxException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import net.minecraft.network.PacketBuffer;
public class CriterionProgress
{
private static final SimpleDateFormat DATE_TIME_FORMATTER = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
private final AdvancementProgress advancementProgress;
private Date obtained;
public CriterionProgress(AdvancementProgress advancementProgressIn)
{
this.advancementProgress = advancementProgressIn;
}
public boolean isObtained()
{
return this.obtained != null;
}
public void obtain()
{
this.obtained = new Date();
}
public void reset()
{
this.obtained = null;
}
public Date getObtained()
{
return this.obtained;
}
public String toString()
{
return "CriterionProgress{obtained=" + (this.obtained == null ? "false" : this.obtained) + '}';
}
public void write(PacketBuffer buf)
{
buf.writeBoolean(this.obtained != null);
if (this.obtained != null)
{
buf.writeTime(this.obtained);
}
}
public JsonElement serialize()
{
return (JsonElement)(this.obtained != null ? new JsonPrimitive(DATE_TIME_FORMATTER.format(this.obtained)) : JsonNull.INSTANCE);
}
public static CriterionProgress read(PacketBuffer buf, AdvancementProgress advancementProgressIn)
{
CriterionProgress criterionprogress = new CriterionProgress(advancementProgressIn);
if (buf.readBoolean())
{
criterionprogress.obtained = buf.readTime();
}
return criterionprogress;
}
public static CriterionProgress fromDateTime(AdvancementProgress advancementProgressIn, String dateTime)
{
CriterionProgress criterionprogress = new CriterionProgress(advancementProgressIn);
try
{
criterionprogress.obtained = DATE_TIME_FORMATTER.parse(dateTime);
return criterionprogress;
}
catch (ParseException parseexception)
{
throw new JsonSyntaxException("Invalid datetime: " + dateTime, parseexception);
}
}
}