Type object
File match *.mixins.json
Schema URL https://catalog.lintel.tools/schemas/schemastore/sponge-mixin-configuration/latest.json
Source https://www.schemastore.org/sponge-mixins.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

package string required

The target package where the mixin classes reside

parent string

The name of a parent configuration that options get inherited from

target string

Target selector. Either the specifies the phase directly or use "@env(PHASE)" separated by '&', '', or ' '

minVersion string

Minimum version of the mixin subsystem required for this configuration

pattern=^(\d{1,5})(?:\.(\d{1,5})(?:\.(\d{1,5})(?:\.(\d{1,5}))?)?)?(-[a-zA-Z0-9_\-]+)?$
compatibilityLevel string

Minimum compatibility level required for mixins in this set

required boolean

Determines whether mixin failures in this configuration are considered terminal and stop the game

priority integer

The priority of this configuration. Will be inherited if smaller than 0

Default: -1
mixinPriority integer

Default mixin priority for this configuration. Will be inherited if smaller than 0

Default: -1
mixins mixin_class[]

Mixin classes to load in all environments. Class names get prepended with the specified package

client mixin_class[]

Mixin classes to load ONLY on client. Class names get prepended with the specified package

server mixin_class[]

Mixin classes to load ONLY on server. Class names get prepended with the specified package

setSourceFile boolean

Sets whether targets' source files will be updated to the mixin source file

refmap string

The path to the reference map resource to use for this configuration

verbose boolean

Increases log detail level from DEBUG to INFO

Default: false
plugin string

Name of the mixin config plugin to use for this config

injectors object

Injection options

4 nested properties
defaultRequire integer

Sets the default minimum of injections that must be successfully applied per injector

Default: 0
min=0
defaultGroup string

Sets the default injector group

Default: "default"
injectionPoints string[]

Registers injection points for this configuration

maxShiftBy integer

Sets the maximum allowed number of opcodes that can be shifted in @At annotations. This is hard capped at 5

Default: 5
min=0max=5
overwrites object

Overwrite options

2 nested properties
conformVisibility boolean

Sets whether the visibility of overwritten methods should be conformed to the target class

requireAnnotations boolean

Sets whether overwriting methods must explicitly be declared through @Overwrite annotations

Default: true

Definitions

mixin_class string

The dot-separated path to the mixin class relative to the specified package. The class must be annotated with @Mixin

injector_options object

Injection options

defaultRequire integer

Sets the default minimum of injections that must be successfully applied per injector

Default: 0
min=0
defaultGroup string

Sets the default injector group

Default: "default"
injectionPoints string[]

Registers injection points for this configuration

maxShiftBy integer

Sets the maximum allowed number of opcodes that can be shifted in @At annotations. This is hard capped at 5

Default: 5
min=0max=5
overwrite_options object

Overwrite options

conformVisibility boolean

Sets whether the visibility of overwritten methods should be conformed to the target class

requireAnnotations boolean

Sets whether overwriting methods must explicitly be declared through @Overwrite annotations

Default: true