UNPKG

bedrock-development

Version:

APIs for creating and editing files related to Minecraft Bedrock development.

40 lines (39 loc) 1.47 kB
import { Directories } from "../../file_manager.js"; import { NameData } from "../../utils.js"; import { MinecraftDataType } from "../minecraft.js"; export class ClientItemTexture extends MinecraftDataType { static get DirectoryPath() { return Directories.RESOURCE_PATH; } constructor(filepath, template) { super(filepath, template); this.resource_pack_name = 'vanilla'; this.texture_name = 'atlas.items'; this.texture_data = template.texture_data; } static createFilePath() { return this.DirectoryPath + "textures/item_texture.json"; } static createFromTemplate() { return new ClientItemTexture(this.createFilePath(), { resource_pack_name: 'vanilla', texture_name: 'atlas.items', texture_data: {}, }); } static fileWithAddedTextures(...data) { const items = ClientItemTexture.fromPathOrTemplate(ClientItemTexture, ClientItemTexture.createFilePath()); data.forEach(data => items.addTexture(data.name, data.texture)); return items.toFile(); } toFile() { return { filePath: this.filePath, fileContents: this.serialize(), handleExisting: 'overwrite' }; } addTexture(name, textures) { if (!name.includes(NameData.ProjectName)) name = `${NameData.TeamName}_${NameData.ProjectName}:${name}`; this.texture_data[name] = { textures }; } }