bedrock-development
Version:
APIs for creating and editing files related to Minecraft Bedrock development.
40 lines (39 loc) • 1.47 kB
JavaScript
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
};
}
}