tutorial:accesswideners
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tutorial:accesswideners [2022/07/12 10:27] – external edit 127.0.0.1 | tutorial:accesswideners [2024/06/09 05:33] (current) – Add comparison to accessor mixins haykam | ||
---|---|---|---|
Line 8: | Line 8: | ||
* If you want to subclass a class with only (package) private constructors, | * If you want to subclass a class with only (package) private constructors, | ||
- | In order for access widener changes to show up in the decompiled source, run the '' | + | In order for access widener changes to show up in the decompiled source, run the '' |
+ | |||
+ | Note: Unlike accessor mixins, access wideners do not work for source of mods. | ||
===== Requirements ===== | ===== Requirements ===== | ||
Line 17: | Line 19: | ||
A specific file format is used to define the access changes included in your mod. To aid IDE's you should use the '' | A specific file format is used to define the access changes included in your mod. To aid IDE's you should use the '' | ||
- | The file must start with the following header, '' | + | The file must start with the following header. '' |
<code [enable_line_numbers=" | <code [enable_line_numbers=" | ||
- | accessWidener v1 < | + | accessWidener |
</ | </ | ||
Line 100: | Line 102: | ||
* Fields have final removed | * Fields have final removed | ||
+ | |||
+ | If you want to make a private final field both accessible //and// mutable, you need to use two directives, one for each change. | ||
===== Specifying file location ===== | ===== Specifying file location ===== | ||
- | The access widener file location must be specified in your build.gradle and in your fabric.mod.json file. It should be stored in the resources as it needs to be included in the exported jar file. | + | The access widener file location must be specified in your build.gradle and in your fabric.mod.json file. It should be stored in the resources as it needs to be included in the exported jar file. (Replace " |
Loom 0.9 or higher: | Loom 0.9 or higher: | ||
Line 134: | Line 138: | ||
By default, accesswidener entries that don't exist are ignored. | By default, accesswidener entries that don't exist are ignored. | ||
On recent versions of Loom, you can run '' | On recent versions of Loom, you can run '' | ||
+ | |||
+ | The error messages can be a little cryptic. For example, if you make a mistake in specifying a field, the error doesn' | ||
+ | |||
+ | ===== V2 changes ===== | ||
+ | |||
+ | With the v2 version, the '' | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | They differ from their regular, non-prefixed variants in that they also apply to mods that depend on this one. | ||
+ | |||
+ | |||
+ |
tutorial/accesswideners.1657621651.txt.gz · Last modified: 2022/07/12 10:27 by 127.0.0.1