Skip to content

Commit b1812cf

Browse files
committed
Bump version
1 parent 382dce8 commit b1812cf

File tree

2 files changed

+72
-1
lines changed

2 files changed

+72
-1
lines changed

changelog.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,76 @@
11
# Minecraft Development for IntelliJ
22

3+
## [1.8.7]
4+
5+
### Added
6+
7+
- Translations inside `deprecated.json` are now properly handled.
8+
- Usages of removed or renamed translations will be reported as a warning.
9+
- Translations will now properly be redirected to the correct entry in the translation file if they have been renamed.
10+
- New error if a local class is used in a mixin.
11+
- Access wideners have been renamed to class tweakers, which are a new beta Fabric feature, backwards compatible with
12+
access wideners. Both the new class tweaker format and the legacy access widener format are supported.
13+
- Added warnings related to `@At.opcode`:
14+
- A warning if it is used on any injection point other than `FIELD` (it would be ignored).
15+
- A warning if it is *not* used on `FIELD`.
16+
- A warning if an unsupported opcode is used.
17+
- Added an inspection for when an injector targets an unsupported instruction. This includes:
18+
- `@Redirect` and `@WrapOperation` targeting any instruction except those that can be targeted according to their docs.
19+
- `@ModifyArg` and `@ModifyArgs` targeting any instruction except method invocations.
20+
- `@ModifyConstant` targeting any instruction that doesn't push a constant.
21+
- `@ModifyExpressionValue` targeting instructions that don't return a value (e.g. void method invocations).
22+
- `@ModifyReceiver` targeting any instruction except non-static method invocations and field references.
23+
- `@ModifyReturnValue` targeting any instruction except `xRETURN`.
24+
- `@WrapWithCondition` targeting any instruction except void method invocations and field assignments.
25+
- Added an inspection for when `@Share` is used on a parameter that isn't from the `LocalRef` family.
26+
- Added an inspection for when two `@Share` annotations pointing to the same variable have a different type.
27+
- Added support for target code which has named variables in the LVT. This is enabled by default on all code except in
28+
the packages `net.minecraft` and `com.mojang.blaze3d`. It can be enabled for these packages too by enabling the
29+
`mcdev.unobfuscated.minecraft` registry value in the registry menu (access via ctrl+shift+A in the IDE and search for
30+
"Registry"). Plugins can add further unobfuscated packages by registering to the
31+
`com.demonwav.minecraft-dev.missingLVTChecker` extension point.
32+
- `@Local` and `@ModifyVariable` will generate warnings if the target class has named variables in the LVT, but are
33+
being targeted with `ordinal`, `index`, or in implicit mode.
34+
- This is currently disabled for parameter locals (those that can have `argsOnly = true`, due to a
35+
[Mixin issue](https://github.com/FabricMC/Mixin/issues/189)).
36+
- There is a quick fix to convert the annotation to use `name`.
37+
- MixinExtras expressions will now auto-complete to use named `@Local` targets where possible.
38+
- The `@Inject` local capture migration quick fix now also uses named `@Local` targets where possible.
39+
40+
### Changed
41+
42+
- Simplified translation identification code and made interpolation inlining less aggressive. When folding translations,
43+
MinecraftDev will no longer attempt to inline the values of variables in the substitution.
44+
- Removed the check for injecting before a `super()` call. This was never a correct thing to check for.
45+
- Switched from using entry points to implicit usage providers in mixins. This allows MixinExtras sugar parameters to be
46+
reported as unused by IntelliJ if they are unused, while maintaining an implicit usage on the whole method to avoid an
47+
unused warning there.
48+
- Changed `@Local` and `@ModifyVariable` can be `argsOnly = true` inspection to also work if the local is specified by
49+
name.
50+
51+
### Fixed
52+
53+
- Error reporting now works again and uses Sentry. If you have had problems reporting errors to MinecraftDev, it may be
54+
worth trying again after this update.
55+
- Fixed auto-completion for `NEW` and `FIELD` targets so they now read from the bytecode rather than the source code,
56+
improving accuracy.
57+
- Injection point specifiers and ordinals no longer prevent completion of `@At` targets.
58+
- `@Local` no longer always reports as able to be `argsOnly = true` if there are other annotations on the method, which
59+
was particularly noticeable when using `@Expression`.
60+
- Fixed `@ModifyConstant`'s expected method signature for class types. It now correctly expects two arguments, an
61+
`Object` instance and a `Class<?>` type, and may return a `Class<?>` or a `boolean`.
62+
- MinecraftDev no longer uses the internal `loom.mods[...].modSourceSets` property when importing a Fabric project.
63+
- Double nested anonymous class resolving now works, so mixins targeting `Foo$1$1` should now work correctly.
64+
- Fixed navigation to constructors from mixins, which was broken in the previous release.
65+
- Class tweaker (access widener) files no longer treat unrecognized namespaces as a syntax error.
66+
- A warning will be generated if the namespace is not in the current mapping file (pulled from Loom). If the current
67+
mapping file does not exist, only `official` will be recognized as a valid namespace.
68+
- Fixed the "copy AT entry" action for unobfuscated environments.
69+
- Fixed an `ArrayIndexOutOfBoundsException` in `LocalVariables.guessAllLocalVariablesUncached`.
70+
- Override `getLanguage` in `NbttCodeStyleSettingsProvider`, preventing an IDE error.
71+
- Weaken the assertions in `TranslationFiles`, showing a balloon to the user instead. This prevents an IDE error from
72+
occurring.
73+
374
## [1.8.6]
475

576
### Added

readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Minecraft Development for IntelliJ
3131
</tr>
3232
</table>
3333

34-
Info and Documentation [![Current Release](https://img.shields.io/badge/release-1.8.6-orange.svg?style=flat-square)](https://plugins.jetbrains.com/plugin/8327)
34+
Info and Documentation [![Current Release](https://img.shields.io/badge/release-1.8.7-orange.svg?style=flat-square)](https://plugins.jetbrains.com/plugin/8327)
3535
----------------------
3636

3737
<a href="https://discord.gg/j6UNcfr"><img src="https://i.imgur.com/JXu9C1G.png" height="48px"></img></a>

0 commit comments

Comments
 (0)