Skip to content

Commit

Permalink
fix blockRenames must follow by chain (fixed to be correct!)
Browse files Browse the repository at this point in the history
  • Loading branch information
zardoy committed Jan 8, 2024
1 parent ba37e8d commit bfa999d
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/blockRenames.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,26 @@ const allRenamesMapFromLatest = Object.fromEntries(
['blocks', 'items'].map(x =>
[
x,
Object.fromEntries(Object.entries(itemBlockRenames).flatMap(([ver, t]) => t[x].map(([oldName, newName]) => [
Object.fromEntries(Object.entries(itemBlockRenames).flatMap(([ver, t]) => t[x]?.map(([oldName, newName]) => [
newName,
{ version: versionToNumber(ver), oldName }
])))
])).filter(x => x))
])
) as { [thing: string]: Record<string, { version: number, oldName: string }> }

export const adoptBlockOrItemNamesFromLatest = (type: 'blocks' | 'items', version: string, names: string[]) => {
const map = allRenamesMapFromLatest[type]
const ver = versionToNumber(version)
return names.map(name => {
const renamed = map[name] // todo it might be useful if followed by chain
let renamed = map[name]
while (renamed) {
const newRenamed = map[renamed.oldName]
if (newRenamed && newRenamed.version < renamed.version) {
renamed = newRenamed
} else {
break
}
}
if (renamed && ver < renamed.version) {
return renamed.oldName
}
Expand Down

0 comments on commit bfa999d

Please sign in to comment.