diff --git a/assets/analyzer.js b/assets/analyzer.js
index 945fb91..53a08de 100644
--- a/assets/analyzer.js
+++ b/assets/analyzer.js
@@ -93,7 +93,7 @@ async function processEntries(entries) {
done++
if (!rpMode && ext == "mcfunction") {
- const funcLocation = /data\/([-a-z0-9_]+)\/functions\/([-a-z0-9_/]+)/i.exec(filePath)
+ const funcLocation = /data\/([-a-z0-9_.]+)\/functions\/([-a-z0-9_./]+)\.mcfunction/i.exec(filePath)
if (funcLocation && !dpExclusive.functions.includes(funcLocation[1] + ":" + funcLocation[2])) dpExclusive.functions.push(funcLocation[1] + ":" + funcLocation[2])
const lines = result.split("\n")
@@ -120,7 +120,7 @@ async function processEntries(entries) {
})
}
if (cmd == "function" || line.includes(" function ") || line.includes("/function ")) {
- const func = /function (([-a-z0-9_]+):)?([-a-z0-9_/]+)/i.exec(line)
+ const func = /function (([-a-z0-9_.]+):)?([-a-z0-9_./]+)/i.exec(line)
if (func && func[3]) dpExclusive.functionCalls.push({
source: funcLocation[1] + ":" + funcLocation[2],
target: (func[2] || "minecraft") + ":" + func[3]
@@ -166,7 +166,7 @@ async function processEntries(entries) {
}
} else if (!rpMode && ext == "json") {
if (filePath.includes("/advancements/")) {
- const fileLocation = /data\/([-a-z0-9_]+)\/advancements\/([-a-z0-9_/]+)/i.exec(filePath)
+ const fileLocation = /data\/([-a-z0-9_.]+)\/advancements\/([-a-z0-9_./]+)\.json/i.exec(filePath)
try {
const parsed = JSON.parse(result)
@@ -178,11 +178,12 @@ async function processEntries(entries) {
console.warn("Unable to analyze advancement: " + filePath, e)
}
} else if (filePath.includes("/tags/functions/")) {
- const fileLocation = /data\/([-a-z0-9_]+)\/tags\/functions\/([-a-z0-9_/]+)/i.exec(filePath)
+ const fileLocation = /data\/([-a-z0-9_.]+)\/tags\/functions\/([-a-z0-9_./]+)\.json/i.exec(filePath)
try {
const parsed = JSON.parse(result)
if (parsed.values) parsed.values.forEach(func => {
+ if (typeof func == "object") func = func.id
dpExclusive.functionCalls.push({
source: "#" + fileLocation[1] + ":" + fileLocation[2],
target: func.includes(":") ? func : "minecraft:" + func
@@ -357,7 +358,7 @@ async function mainScan(hasData = false) {
"" +
"Non-pack file types found:
" +
Object.keys(filetypesOther).sort((a, b) => filetypesOther[b] - filetypesOther[a]).map(type => "" + type + ": " + localize(filetypesOther[type]) + "
").join("") +
- "
"
+ "
"
: "") +
(uncalledFunctions.length > 0 ?
"Uncalled functions:
" +