Skip to content

Commit 66c47c7

Browse files
committed
missing options pass to inner lang replace method call
1 parent fa2c24a commit 66c47c7

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

src/emit/assets/lang.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { ClearableEmitter, RegistryProvider } from '../index.js'
2-
import { LangDefinition } from '../../schema/assets/lang.js'
1+
import { InferIds, RegistryId } from '@pssbletrngle/data-modifier/generated'
32
import { Acceptor, arrayOrSelf } from '@pssbletrngle/pack-resolver'
3+
import { mapValues, omitBy } from 'lodash-es'
4+
import { Id, IdInput, createId, encodeId } from '../../common/id.js'
45
import { Predicate } from '../../common/ingredient.js'
6+
import Registry from '../../common/registry.js'
57
import { Replacer } from '../../parser/recipe/index.js'
6-
import { mapValues, omitBy } from 'lodash-es'
8+
import { LangDefinition } from '../../schema/assets/lang.js'
79
import { toJson } from '../../textHelper.js'
8-
import { createId, encodeId, Id, IdInput } from '../../common/id.js'
9-
import Registry from '../../common/registry.js'
10-
import { InferIds, RegistryId } from '@pssbletrngle/data-modifier/generated'
10+
import { ClearableEmitter, RegistryProvider } from '../index.js'
1111

1212
type LangRule = Readonly<{
1313
languages: string[]
@@ -104,7 +104,7 @@ export default class LangEmitter implements LangRules, ClearableEmitter {
104104
replacer: it => it.replaceAll(match, matcher),
105105
})
106106
} else {
107-
this.replaceValue(new RegExp(match, 'i'), value)
107+
this.replaceValue(new RegExp(match, 'i'), value, options)
108108
}
109109
} else {
110110
this.rules.push({ languages, mods, value: it => match.test(it), replacer: it => it.replace(match, matcher) })

test/lang.test.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import setupLoader from './shared/loaderSetup.js'
21
import createTestAcceptor from './mock/TestAcceptor.js'
2+
import setupLoader from './shared/loaderSetup.js'
33

44
const { loader } = setupLoader({ include: 'assets/*/lang/*.json' })
55

@@ -46,4 +46,14 @@ describe('replacing translation entries', () => {
4646

4747
expect(acceptor.jsonAt('assets/minecraft/lang/en_us.json')).toMatchSnapshot('custom values')
4848
})
49+
50+
it('only modifies values of given mods', async () => {
51+
const acceptor = createTestAcceptor()
52+
53+
loader.lang.replaceValue('Iron', 'Steel', { lang: 'en_us', mod: ['create', 'farmersdelight'] })
54+
55+
await loader.emit(acceptor)
56+
57+
expect(acceptor.paths()).toHaveLength(2)
58+
})
4959
})
Binary file not shown.

0 commit comments

Comments
 (0)