package tc.oc.pgm.xml.validate;
import javax.annotation.Nullable;
import javax.inject.Inject;
import tc.oc.api.docs.virtual.MapDoc;
import tc.oc.commons.bukkit.localization.MessageTemplate;
import tc.oc.pgm.map.MapInfo;
import tc.oc.pgm.xml.InvalidXMLException;
import tc.oc.pgm.xml.Node;
public class MessageTemplateIsLocalized implements Validation<MessageTemplate> {
private final MapInfo mapInfo;
@Inject public MessageTemplateIsLocalized(MapInfo mapInfo) {
this.mapInfo = mapInfo;
}
@Override
public void validate(MessageTemplate value, @Nullable Node node) throws InvalidXMLException {
if(mapInfo.phase() == MapDoc.Phase.PRODUCTION && !value.isLocalized()) {
throw new InvalidXMLException("Message templates in production maps must be localized", node);
}
}
}