VazkiiMods / Botania

A tech mod for Minecraft themed around the magic of nature and plant life.
http://botaniamod.net/index.html
Other
1.27k stars 505 forks source link

xplat: Switch from VanillaGradle to minivan #4684

Closed quat1024 closed 3 months ago

quat1024 commented 3 months ago

minivan is my Gradle plugin that acts like VanillaGradle. It is written with pretty boring straightforward code, makes no attempt to download a copy of the Minecraft assets or anything else necessary to support a runClient, and doesn't use any IntelliJ "task activations", so it's a good bit lighter weight.

Interesting: When switching, I had to manually add a dependency on jetbrains annotations. Maybe vanillagradle did that?

Also adds the foojay-resolver-convention plugin, b/c apparently I don't have Java 17 installed in a place where Gradle can find it. This is a well-known Gradle 8 upgrade woe wrt. the toolchains feature.

TheRealWormbo commented 3 months ago

Is that just a thing with the IntelliJ decompiler, or does the generated code really have @SideOnly(Side.CLIENT) on too many classes? (I also noticed that before this update with access widening.)

quat1024 commented 3 months ago

Hm, interesting, might be a failure of the jar merging.

Which classes?

TheRealWormbo commented 3 months ago

So far I've noticed it on any entity class I checked, including ServerPlayer. It might just be all classes, including nested ones. Unfortunately IntelliJ likes to navigate to Fabric versions of classes (presumably because those have configured sources), which is making this a bit harder to check.

quat1024 commented 3 months ago

Well that's embarrassing, I forgot to unbundle the server jar. Glad i didn't publish 0.5 yet >.>

Should be fixed in the latest minivan snapshot (commit hash c5ae507).

TheRealWormbo commented 3 months ago

Yup, looks better.

artemisSystem commented 3 months ago

Tested a bit and it seems to work just fine. Thanks a lot!