package openeye.notes.entries; import com.google.common.base.Strings; import com.google.gson.JsonObject; import java.io.File; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextComponentString; import net.minecraft.util.text.TextComponentTranslation; import openeye.notes.NoteCategory; import openeye.notes.NoteLevels; import openeye.responses.ResponseModMsgAction; public class MsgNoteEntry extends NoteEntry { private final String description; private final String signature; private final String payload; public MsgNoteEntry(File file, ResponseModMsgAction msg) { super(file, calculateFromLevel(msg.level), msg.level); this.signature = msg.signature; this.description = msg.description; this.payload = msg.payload; } private static NoteCategory calculateFromLevel(int level) { if (level > NoteLevels.CRITICAL_LEVEL_THRESHOLD) return NoteCategory.CRITICAL; if (level > NoteLevels.ALERT_LEVEL_THRESHOLD) return NoteCategory.ALERT; else if (level > NoteLevels.WARNING_LEVEL_THRESHOLD) return NoteCategory.WARNING; else return NoteCategory.INFO; } @Override public String url() { return null; // TODO } @Override public ITextComponent title() { return new TextComponentTranslation("openeye.notes.title.note", file.getName()); } @Override public ITextComponent content() { return new TextComponentString(Strings.nullToEmpty(description)); } @Override public JsonObject toJson() { JsonObject result = super.toJson(); result.addProperty("signature", signature); result.addProperty("payload", payload); return result; } }