@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
73 lines (72 loc) • 2.17 kB
TypeScript
import ProjectInfoItem from "./ProjectInfoItem";
import ProjectInfoSet from "./ProjectInfoSet";
import ContentIndex from "../core/ContentIndex";
import ITagData from "../app/ITagData";
import IProjectInfoGenerator from "./IProjectInfoGenerator";
import Project from "../app/Project";
export interface IPackSummaryMetadata {
pack?: IPackSummaryMetadataPack;
offerStructure?: IPackSummaryMetadataOfferStructure;
offer: IPackSummaryMetadataOffer;
}
export interface IPackSummaryMetadataOfferStructure {
PackCount: number;
Type: string;
Version: string;
DisplayName: string;
Id: string;
}
export interface IPackSummaryMetadataPack {
Offer: IPackSummaryMetadataPackOffer;
Id: string;
OfferId: string;
Type: string;
}
export interface IPackSummaryMetadataPackOffer {
Id: string;
}
export interface IPackSummaryMetadataOffer {
result: IPackSummaryMetadataOfferResult;
}
export interface IPackSummaryMetadataOfferResult {
offerModel: IPackSummaryMetadataOfferResultOfferModel;
}
export interface IPackSummaryMetadataOfferResultOfferModel {
Id: string;
contentApproved: string;
catalogDescription: string;
offerPrice: string;
offerGenre: string;
offerSubgenre: string;
playerCount: string;
purchasable: string;
readableOfferId: string;
releaseDate: string;
retailProductId: string;
submissionDate: string;
worldType: string;
cardTitle: string;
originalReleaseDate: string;
creatorName: string;
isAnUpdate: boolean;
lastUpdated: string;
offerTitle: string;
packType: string;
offerType: string;
submissionVersion: string;
}
/**
* Aggregates pack metadata from various sources including marketplace submissions.
*/
export default class PackMetaDataInformationGenerator implements IProjectInfoGenerator {
id: string;
title: string;
tags: string[];
tagMetadata: ITagData;
canAlwaysProcess: boolean;
getTopicData(topicId: number): {
title: string;
};
summarize(info: any, infoSet: ProjectInfoSet): void;
generate(project: Project, contentIndex: ContentIndex): Promise<ProjectInfoItem[]>;
}