diff --git a/module/helper.js b/module/helper.js index e4df457..4aa959e 100644 --- a/module/helper.js +++ b/module/helper.js @@ -518,7 +518,7 @@ export class EntitySheetHelper { const documentName = this.metadata.name; const folders = game.folders.filter(f => (f.data.type === documentName) && f.displayed); const label = game.i18n.localize(this.metadata.label); - const title = game.i18n.format("ENTITY.Create", {entity: label}); + const title = game.i18n.format("DOCUMENT.Create", {type: label}); // Identify the template Actor types const collection = game.collections.get(this.documentName); @@ -531,9 +531,11 @@ export class EntitySheetHelper { types[a.id] = a.name; } - // Render the entity creation form - const html = await renderTemplate(`templates/sidebar/entity-create.html`, { - name: data.name || game.i18n.format("ENTITY.New", {entity: label}), + // Render the document creation form + const useEntity = foundry.utils.isNewerVersion("9", game.version ?? game.data.version); + const template = `templates/sidebar/${useEntity ? "entity" : "document" }-create.html`; + const html = await renderTemplate(template, { + name: data.name || game.i18n.format("DOCUMENT.New", {type: label}), folder: data.folder, folders: folders, hasFolders: folders.length > 1, @@ -570,4 +572,4 @@ export class EntitySheetHelper { options: options }); } -} \ No newline at end of file +} diff --git a/module/macro.js b/module/macro.js index 1e98740..35a8203 100644 --- a/module/macro.js +++ b/module/macro.js @@ -8,7 +8,7 @@ export async function createWorldbuildingMacro(data, slot) { const command = `const roll = new Roll("${data.roll}", actor ? actor.getRollData() : {}); roll.toMessage({speaker, flavor: "${data.label}"});`; - let macro = game.macros.entities.find(m => (m.name === item.label) && (m.command === command)); + let macro = game.macros.find(m => (m.name === item.label) && (m.command === command)); if (!macro) { macro = await Macro.create({ name: data.label, diff --git a/module/simple.js b/module/simple.js index 0556c25..05eafe2 100644 --- a/module/simple.js +++ b/module/simple.js @@ -35,7 +35,7 @@ Hooks.once("init", async function() { createWorldbuildingMacro }; - // Define custom Entity classes + // Define custom Document classes CONFIG.Actor.documentClass = SimpleActor; CONFIG.Item.documentClass = SimpleItem; @@ -109,11 +109,11 @@ Hooks.on("getActorDirectoryEntryContext", (html, options) => { name: game.i18n.localize("SIMPLE.DefineTemplate"), icon: '', condition: li => { - const actor = game.actors.get(li.data("entityId")); + const actor = game.actors.get(li.data("documentId")); return !actor.getFlag("worldbuilding", "isTemplate"); }, callback: li => { - const actor = game.actors.get(li.data("entityId")); + const actor = game.actors.get(li.data("documentId")); actor.setFlag("worldbuilding", "isTemplate", true); } }); @@ -123,11 +123,11 @@ Hooks.on("getActorDirectoryEntryContext", (html, options) => { name: game.i18n.localize("SIMPLE.UnsetTemplate"), icon: '', condition: li => { - const actor = game.actors.get(li.data("entityId")); + const actor = game.actors.get(li.data("documentId")); return actor.getFlag("worldbuilding", "isTemplate"); }, callback: li => { - const actor = game.actors.get(li.data("entityId")); + const actor = game.actors.get(li.data("documentId")); actor.setFlag("worldbuilding", "isTemplate", false); } }); @@ -142,11 +142,11 @@ Hooks.on("getItemDirectoryEntryContext", (html, options) => { name: game.i18n.localize("SIMPLE.DefineTemplate"), icon: '', condition: li => { - const item = game.items.get(li.data("entityId")); + const item = game.items.get(li.data("documentId")); return !item.getFlag("worldbuilding", "isTemplate"); }, callback: li => { - const item = game.items.get(li.data("entityId")); + const item = game.items.get(li.data("documentId")); item.setFlag("worldbuilding", "isTemplate", true); } }); @@ -156,11 +156,11 @@ Hooks.on("getItemDirectoryEntryContext", (html, options) => { name: game.i18n.localize("SIMPLE.UnsetTemplate"), icon: '', condition: li => { - const item = game.items.get(li.data("entityId")); + const item = game.items.get(li.data("documentId")); return item.getFlag("worldbuilding", "isTemplate"); }, callback: li => { - const item = game.items.get(li.data("entityId")); + const item = game.items.get(li.data("documentId")); item.setFlag("worldbuilding", "isTemplate", false); } }); diff --git a/system.json b/system.json index fb57af9..78da37f 100644 --- a/system.json +++ b/system.json @@ -2,9 +2,9 @@ "name": "worldbuilding", "title": "Simple World-Building", "description": "A minimalist game system which provides configurable Actor and Item templates to support free-form system agnostic game-play.", - "version": "0.5.0", - "minimumCoreVersion": "0.8.4", - "compatibleCoreVersion": "0.8.6", + "version": "0.6.0", + "minimumCoreVersion": "0.8.9", + "compatibleCoreVersion": "9", "author": "Atropos", "esmodules": ["module/simple.js"], "styles": ["styles/simple.css"], @@ -21,7 +21,7 @@ "primaryTokenAttribute": "health", "secondaryTokenAttribute": "power", "url": "https://gitlab.com/foundrynet/worldbuilding/", - "manifest": "https://gitlab.com/foundrynet/worldbuilding/raw/0.5.x/system.json", - "download": "https://gitlab.com/foundrynet/worldbuilding/-/archive/release-050/worldbuilding-release-050.zip", + "manifest": "https://gitlab.com/foundrynet/worldbuilding/raw/0.6.x/system.json", + "download": "https://gitlab.com/foundrynet/worldbuilding/-/archive/release-060/worldbuilding-release-060.zip", "license": "LICENSE.txt" }