kikugie / elytra-trims

Lightweight and customizable support for trimmable elytras
https://modrinth.com/mod/elytra-trims
GNU Lesser General Public License v3.0
23 stars 8 forks source link

[Bug]: #44

Closed ghost closed 4 months ago

ghost commented 4 months ago

Mod loader

Forge

Minecraft version

1.20.1

Mod version

elytratrims-forge-2.0.0+1.20.1.jar

Affected mods

Bug description

Minecraft says that this mod is a Fabric mod even though the file is called Forge. Also, I got the error below:

[main/ERROR] [ne.mi.fm.lo.mo.ModDiscoverer/SCAN]: Locator {mods folder locator at D:\Games\Minecraft\Instances\MNC Gameplay & Build\.minecraft\mods} found an invalid mod file net.minecraftforge.fml.loading.moddiscovery.ModFileInfo@47447ccf
net.minecraftforge.fml.loading.moddiscovery.InvalidModFileException: Missing required field mandatory in dependency (elytratrims-forge-2.0.0+1.20.1.jar)
    at net.minecraftforge.fml.loading.moddiscovery.ModInfo$ModVersion.lambda$new$1(ModInfo.java:216) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.ModInfo$ModVersion.<init>(ModInfo.java:216) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.ModInfo.lambda$new$7(ModInfo.java:99) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] {}
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?] {}
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] {}
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {}
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[?:?] {}
    at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[?:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.ModInfo.<init>(ModInfo.java:100) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.ModFileInfo.lambda$new$2(ModFileInfo.java:85) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] {}
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?] {}
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] {}
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {}
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[?:?] {}
    at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[?:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.ModFileInfo.<init>(ModFileInfo.java:86) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.ModFileParser.modsTomlParser(ModFileParser.java:47) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.ModFileParser.readModList(ModFileParser.java:31) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.ModFile.<init>(ModFile.java:79) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.ModFile.<init>(ModFile.java:68) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.AbstractModProvider.createMod(AbstractModProvider.java:52) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.AbstractJarFileModLocator.lambda$scanMods$0(AbstractJarFileModLocator.java:19) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] {}
    at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] {}
    at java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395) ~[?:?] {}
    at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[?:?] {}
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510) ~[?:?] {}
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {}
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[?:?] {}
    at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[?:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.AbstractJarFileModLocator.scanMods(AbstractJarFileModLocator.java:19) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at net.minecraftforge.fml.loading.moddiscovery.ModDiscoverer.discoverMods(ModDiscoverer.java:75) ~[fmlloader-1.20.1-47.2.20.jar:?] {}
    at net.minecraftforge.fml.loading.FMLLoader.beginModScan(FMLLoader.java:164) ~[fmlloader-1.20.1-47.2.20.jar:1.0] {}
    at net.minecraftforge.fml.loading.FMLServiceProvider.beginScanning(FMLServiceProvider.java:86) ~[fmlloader-1.20.1-47.2.20.jar:1.0] {}
    at cpw.mods.modlauncher.TransformationServiceDecorator.runScan(TransformationServiceDecorator.java:112) ~[modlauncher-10.0.9.jar:?] {}
    at cpw.mods.modlauncher.TransformationServicesHandler.lambda$runScanningTransformationServices$8(TransformationServicesHandler.java:100) ~[modlauncher-10.0.9.jar:?] {}
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] {}
    at java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1779) ~[?:?] {}
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] {}
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {}
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) ~[?:?] {}
    at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) ~[?:?] {}
    at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) ~[?:?] {}
    at cpw.mods.modlauncher.TransformationServicesHandler.runScanningTransformationServices(TransformationServicesHandler.java:102) ~[modlauncher-10.0.9.jar:?] {}
    at cpw.mods.modlauncher.TransformationServicesHandler.initializeTransformationServices(TransformationServicesHandler.java:55) ~[modlauncher-10.0.9.jar:?] {}
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:88) ~[modlauncher-10.0.9.jar:?] {}
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}
    at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}
    at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}
    at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {}
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}
    at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}
    at io.github.zekerzhayard.forgewrapper.installer.Main.main(Main.java:67) ~[?:?] {}
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[?:?] {}
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[?:?] {}
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[?:?] {}

Steps to reproduce

Launch game

Relevant logs

No response

unilock commented 4 months ago

It appears to be due to this single change:

https://github.com/kikugie/elytra-trims/commit/96c0fe831a8440d9c3799cf696c27335e40a1e8d#diff-3bc2a2f6cb6e625914eaf245e536e39108fbc2a24acd076bd6bbc2a60f56c214L23

kikugie commented 4 months ago

Yea, when it's there neoforge complaints, but without it forge breaks. Life is full of suffering. Pushed 2.0.1 for forge 1.19-1.20.2 with the fix.